2010-11-09 2 views
0

Я хотел бы затронуть один виджет (панель), только если выбрана первая вкладка на панели вкладок.изменение стиля управления с зависимостью в другом элементе управления

Я пытался что-то подобное в моей таблице стилей:

QTabBar::tab:first:selected 

{ 

QTabWidget::pane:border-top-left-radius: 0px; 

} 

он не работал. можете ли вы предложить мне альтернативу?

+0

Вам абсолютно необходимо использовать только QStylesheets? или вы в порядке с этим в коде? – Live

+0

У меня все в порядке. – sara

ответ

0

Вы можете установить собственное динамическое свойство виджета в стили, когда изменяется вкладка. О создании, установите свойство ложным:

tabWidget->setProperty("firstSelected", false); 

В слоте реагирующий на вкладке переключателя:

const bool firstSelected = ... 
tabWidget->setProperty("firstSelected", firstSelected); 

В таблице стилей:

QTabWidget[firstSelected="true"] { ... } 

QTabWidget[firstSelected="false"] { ... } 

Если это не работает , вы можете изменить таблицу стилей вручную в слоте, прослушивая изменения вкладок.

Смежные вопросы