2014-02-10 2 views

답변

2

Qt의 스타일 시트를 사용하면됩니다. the docs에서 : 당신은 QSS 문자열로 관심을 정의하면

/* Style the tab using the tab sub-control. Note that 
    it reads QTabBar _not_ QTabWidget */ 
QTabBar::tab { 
    background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, 
           stop: 0 #E1E1E1, stop: 0.4 #DDDDDD, 
           stop: 0.5 #D8D8D8, stop: 1.0 #D3D3D3); 
    border: 2px solid #C4C4C3; 
    border-bottom-color: #C2C7CB; /* same as the pane color */ 
    border-top-left-radius: 4px; 
    border-top-right-radius: 4px; 
    min-width: 8ex; 
    padding: 2px; 
} 

, 당신은 다음 setStyleSheet 방법을 사용하여 문제의 위젯에 QSS을 설정합니다. 당신은 배경 색상을 설정에만 관심이 있다면, 간단한 스타일 시트는 아마 충분합니다 :

yourQTabWidget->setStyleSheet("QTabBar::tab { background-color: #FF0000; }"); 

-stylesheet 명령 행 옵션도 가능하고 응용 프로그램을 스타일을 사용할 수 있습니다. 잘 작동하는 응용 프로그램에서는 다음을 수행 할 수 있어야합니다.

yourQtProgram.exe -stylesheet /path/to/your/stylesheet.qss 
+0

이 정의를 클래스 외부에 적용해야합니까? 이 코드를 사용할 때 컴파일되지 않습니다. qlineargradient 줄이 마음에 들지 않는 것처럼 보입니다. – user2494298

+0

외부에서 참조하지 않는 한 스타일 시트가 코드에 문자열로 표시됩니다. 나는 명확하게 대답을 업데이 트했습니다. –