2012-12-27 4 views
3

긴 방문자 상태 후에, 마침내 이것은 나의 첫 번째 게시물입니다. TabWidget (config)에서 탭을 동적으로 생성합니다. 처럼; - 그것은 :) 나를 위해 파이썬 코드, PyQt는이 답변을 코딩 할 수있는 C++, 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;"); 
관련 문제