Russian Qt Forum
Ноябрь 22, 2024, 22:35
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Model-View (MV)
>
QTableView: оставить от выделения только рамку
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: QTableView: оставить от выделения только рамку (Прочитано 2725 раз)
titan83
Гость
QTableView: оставить от выделения только рамку
«
:
Август 17, 2015, 21:08 »
Коллеги, здравствуйте. Qt 4.8.6.
Второй день не могу решить несложную (как казалось в начале) задачу: есть QTableView, есть модель, которая выдает разные BackgroundColorRole и TextColorRole в зависимости от свойств ячейки, все рисуется хорошо. Но есть задача: при выделении ячейки не менять цвет выделения (Highlighted, HighlightedTextColor), а оставлять те цвета, которые были у ячейки до выделения (чтобы пользователь видел свойства выделенной ячейки), в качестве указателя выделения используется исключительно толстая (2-3 пикселя) рамка вокруг выделенной ячейки, т.е. надо просто не рисовать выделение.
Я уже перепробовал и стили (через них сделал рамку), и работу с палитрой - результат один - я могу только выставить какие-то конкретные цвета для ячейки, но transparent не получается использовать нигде (selection-background-color: transparent, QColor(Qt::transparent)). Если делаю transparent, то получаю белую ячейку.
Делегат для этой таблицы есть, но пока он используется исключительно для обработки ввода пользователя, но если уж простыми средствами никак не получится, то придется переопределять paint().
Спасибо.
«
Последнее редактирование: Август 17, 2015, 22:01 от titan83
»
Записан
Авварон
Джедай : наставник для всех
Offline
Сообщений: 3260
Re: QTableView: оставить от выделения только рамку
«
Ответ #1 :
Август 17, 2015, 21:38 »
Цитата: titan83 от Август 17, 2015, 21:08
придется переопределять psint().
Спасибо.
Не за что.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...