Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: daxh от Марта 08, 2010, 14:32



Название: Проблема с цветом заголовков в QTabWidget
Отправлено: daxh от Марта 08, 2010, 14:32
День добрый, друзья.

Проблема в следующем: есть у меня класс tabEditor: public QTabWidget {};
Каждое его владка это экземпляр класса tabEditorChild: public QPlainTextEdit {};
То есть по сути это текстовый редактор, в котором все файлы распологаются как вкладки tabEditor'a.
Когда изменяется текст в одном из файлов, хотелось бы изменять цвет заголовка соответствующей вкладки. Как это сделать? У меня получается только через setPalette(), но работает не верно.

То есть, когла я вызываю
    QPalette newPalette = palette();
    newPalette.setColor(QPalette::WindowText,Qt::blue);
    this->setPalette(newPalette); //(this здесь *tabEditor)
 он установливает новый цвет вообще для всех вкладок.
Если вызвать
    QPalette newPalette = palette();
    newPalette.setColor(QPalette::WindowText,Qt::blue);
    this->currentWidget()->setPalette(newPalette); //(this здесь *tabEditor)
то вообще ничего не происходит.
Что делать то ?


Название: Re: Проблема с цветом заголовков в QTabWidget
Отправлено: zenden от Марта 08, 2010, 17:30
в классе, унаследованном от QTabWidget, вызывайте tabBar()->setTabTextColor(index, color);

но не в конструкторе


Название: Re: Проблема с цветом заголовков в QTabWidget
Отправлено: daxh от Марта 08, 2010, 18:06
Огромное спасибо, милый человек ! Я часа четыре мучался, перепробовал всё, даже в CSS полез, ничего не помогала. Спасибо!