Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: INZER от Июль 03, 2015, 13:26



Название: Цвет заголовков колонок QTableView
Отправлено: INZER от Июль 03, 2015, 13:26
Всем привет,
как изменить фон хэдэера колонки?
(http://i057.radikal.ru/1507/e7/133bd6eca6f3.png)


Код:
setHeaderData (0, Qt::Horizontal, QVariant(Qt::black),Qt::BackgroundRole)
не отрабатывает

Спасибо


Название: Re: Цвет заголовков колонок QTableView
Отправлено: INZER от Июль 03, 2015, 13:28
Код:
model.setHeaderData (0, Qt::Horizontal, QVariant(Qt::black),Qt::BackgroundColorRole)
также не отрабатывает


Название: Re: Цвет заголовков колонок QTableView
Отправлено: Hrundel от Июль 03, 2015, 19:43
Наследника надо делать от QHeaderView  и paint event переписывать. Только недавно на работе с этой бодягой сталкивался. Оказалось проще передать в QTableView свой widget со всеми примочками и синхронизировать со scroll'ом и шириной колонки.


Название: Re: Цвет заголовков колонок QTableView
Отправлено: Igors от Июль 04, 2015, 07:00
У меня работает так
Код
C++ (Qt)
tbl->horizontalHeader()->setStyleSheet("background-color:lightgrey;");
 
Причем после др установок styleSheet для таблицы (если они имеются)

Наследника надо делать от QHeaderView  и paint event переписывать.
Вообще-то это учебный пример "неудачное наследование"  :)


Название: Re: Цвет заголовков колонок QTableView
Отправлено: Racheengel от Июль 06, 2015, 12:15
Мы тоже через таблицы стилей делали, это наиболее простой вариант.
Единственное что - насколько помню, с некоторыми встроенными стилями типа Пластика были косяки с отрисовкой рамки вокруг заголовка. Но это такое дело, css еще местами глючно и его поведение иногда меняется от версии к версии (Qt имею в виду).