Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: troorl от Май 14, 2007, 21:20



Название: Изменение цвета QTabWidget
Отправлено: troorl от Май 14, 2007, 21:20
Нужно раскрасить каждый таб в свой цвет. Пока смог лишь изменить цвет неактивного таба:
Код:
QPalette palette1;
palette1.setColor(QPalette::Button, QColor(255, 0, 0, 255));
QTabWidget::setPalette(palette1);

Но кроме того, что это само по себе не подходит, так ещё и палитра всех дочерних виджетов меняется.

Что посоветуете?


Название: Изменение цвета QTabWidget
Отправлено: pakulo от Май 15, 2007, 09:15
Наверное нужно свой стиль делать...
например, есть стиль WindowsXp то оно ж не использует кажись palette?


Название: Изменение цвета QTabWidget
Отправлено: Emc от Май 15, 2007, 10:24
Боюсь никак - в qt3 возможность была
http://www.trolltech.com/developer/knowledgebase/697/
но сейчас доступ к QTab зарубили


Название: Изменение цвета QTabWidget
Отправлено: pakulo от Май 15, 2007, 13:20
Почему же никак?
Создать свой стиль и там уже прорисовывать разными цветами...

Жалко что убрали QTab ((


Название: Изменение цвета QTabWidget
Отправлено: Emc от Май 15, 2007, 13:34
да похоже я протупил
пожалуй можно поиграть с
drawControl +CE_TabBarTab
но только это напоминает стрельбу из пушки по воробьям


Название: Re: Изменение цвета QTabWidget
Отправлено: stealth от Август 30, 2007, 09:59
задача до сих пор нерешаемая? или кто-нибудь что-нибудь придумал?


Название: Re: Изменение цвета QTabWidget
Отправлено: ритт от Август 30, 2007, 19:07
если я правильно понял постановку задачи (требуется закрашивать закладку под лабелом, а не место под виджетом?), то следует унаследовать QTabBar и в его отрисовщике красить

насколько я помню, там есть два варианта закраски: для активного и для неактивного таба - но никто не мешает создать свои правила