2012-12-27 2 views
3

После долгого статуса посетителя, наконец, это мой первый пост. Я динамически создаю вкладки в своем TabWidget (из config). Подобно; -Он питон код, PyQt, ответы могут быть закодированы с ++, dosn't вопрос для меня :) -Как установить вкладку цвет фона/изображения в QTabWidget?

baseWidget = QWidget() 
//fill baseWidget with other widgets 
window.tabWidget.addTab(baseWidget, _fromUtf8("")) 
window.tabWidget.setTabText(window.tabWidget.indexOf(baseWidget), ...) 

Затем стиль через QSS, как;

QTabBar::tab {} 
QTabBar::tab:selected {} 
QTabBar::tab:!selected {} 
QTabBar::tab:last {} 
QTabBar::tab:first:!selected {} 
QTabBar::tab:!selected:hover {} 

На данный момент все в порядке. Но я хочу раскрасить свои вкладки индивидуально.

Как я могу это достичь? Если возможно, как установить objectName для вкладки?

Все сообщение будет понятно :)

ответ

3

Изменение имени базового объекта не поможет, все, что вы собираетесь делать с таблицей стилей базового объекта, чтобы изменить содержание фона этой панели.

Я провел много исследований и протестировал несколько вещей, касающихся вашей проблемы, и похоже, что единственным решением является повторная реализация события краски QTabWidget.

Я пробовал что-то, что я еще не читал, и это дало некоторые странные результаты, этот подход должен был сработать. Если вы хотите это изучать и посмотреть сами:

tabWidget->setCurrentIndex(0); 
tabWidget->tabBar()->setStyleSheet("background-color: red;"); 

tabWidget->setCurrentIndex(1); 
tabWidget->tabBar()->setStyleSheet("background-color: blue;"); 
Смежные вопросы