2016-07-14 2 views
0

QTabWidget을 어떻게 스타일링 할 수 있습니까?스타일 시트를 사용하여 QTabWidget을 사용자 정의하십시오.

enter image description here

문제는 : 나는 스타일 시트를

QTabWidget:pane { 
border: 1px solid gray; 
} 

을 설정하면 다음은 다음과 같습니다

[qt can do][2].

+1

예상 한대로가 아닙니까? (2 개의 이미지가 동일합니다) – ABCplus

+1

동일하지 않습니다. 두 번째 이미지에서 선택한 탭 표시 줄에 원하지 않는 아래쪽 테두리가 있습니다. –

+0

다음을 확인하십시오 : http://doc.qt.io/qt-5/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar. 당신이'QTabBar'를 스타일링해야 할 것 같습니다. – hyde

답변

0

내 댓글을 재개시. 여기에 해결책이 있습니다.

확인. 제게 올바른 방향을 제시해 주셔서 감사합니다. 다음은 대략적인 스타일 시트입니다. 핵심 순간은 QTabWidget :: pane {top : -1px; }. 그것은 창을 움직여서 (그리고 위쪽 테두리) 방해하지 않도록합니다. QTabBar :: tab : selected {margin-bottom : -1px; } 또한 탭바 아래 및 창 상단 차이점을 숨 깁니다.

QTabWidget::pane { 
    border: 1px solid lightgray; 
    top:-1px; 
    background: rgb(245, 245, 245);; 
} 

QTabBar::tab { 
    background: rgb(230, 230, 230); 
    border: 1px solid lightgray; 
    padding: 15px; 
} 

QTabBar::tab:selected { 
    background: rgb(245, 245, 245); 
    margin-bottom: -1px; 
} 
0

tabwidget 스타일링 :

QTabWidget::tab-bar { 
    border: 1px solid gray; 
} 

스타일링 탭 :

QTabBar::tab { 
    background: gray; 
    color: white; 
    padding: 10px; 
} 

QTabBar::tab:selected { 
    background: lightgray; 
} 

스타일링 패널 :

QTabWidget::pane { 
    border: none; 
} 

예 :

enter image description here

+0

하지만 여전히 선택한 TabBar의 마지막 줄에서 우리를 구해 내지 못합니다. 이 선은 위쪽 창 경계에 있습니다. –

+0

제가 변경 한 사항을 확인하십시오. 테두리를 사용하지 않도록 설정하고 탭 내부에 위젯을 사용자 정의하십시오. 사용자 : QTabWidget :: pane { border : none; } – mohabouje

+0

이 변형도 시도해 보았습니다. 그렇더라도 선택된 Tabbar를 제외하고 전체 pane 테두리가 필요합니다. 고맙습니다.하지만 해결책을 찾았습니다. 게시 할 위치를 알지 못했기 때문에 첫 번째 메시지에 주석으로 게시했습니다. 도움말에서 권장 한 내용이므로 잘못 표시 될 수 있습니다. –

관련 문제