Russian Qt Forum
Май 12, 2024, 01:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QTableView (полупрозрачное выделение строки)  (Прочитано 3186 раз)
kexby
Гость
« : Декабрь 26, 2013, 12:56 »

День добрый.

Как сделать в QTableView полупрозрачное выделение текущей строки?

Необходимость в таком выделении возникла после того как, обнаружил что цвет ячеек, получаемый из модели методом data() для роли Qt::BackgroundRole, напрочь перекрывается цветом выделения строки. А хочется видеть всяческие раскраски даже для текущей строки. А если в модели будет 1 строка (т.е. она же текущая), то вообще цвет подкраски никогда не отобразится.
Исправить ситуцию с помощью стилей не получилось (назвачение цвета выделения с прозрачностью 30%):
Код:
myTableView->setStyleSheet("QTableView::item {selection-color: black; selection-background-color: rgba(30, 144, 255, 30%);}")
Так же обнаружил, что выделение в QTreeView и только в стиле WindowsVista работает именно так как мне хотелось (через выделение виден цвет ячеек).
Очень хотелось бы добится аналогичного поведения при выделении в QTableView.
Скрины и пример во вложениях.

P.S. Гуглил, но решения так и не нашел  В замешательстве
Использовал Qt 4.8.5.
Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #1 : Декабрь 26, 2013, 18:07 »

Я не уверен на все 100 процетов, но думаю что придется пепреопреедлять метод отрисовки таблицы наследованием.
Еще как вариант поискать в установленной палитре цвет, отвечающий за выделение и изменить его.
Записан
vintik
Гость
« Ответ #2 : Декабрь 27, 2013, 19:31 »

Я бы копал в сторону задания кастомного делегата для отображения ячеек таблицы
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.051 секунд. Запросов: 23.