2011-09-07 60 views
1

我正在使用樣式表來主題化應用程序。 這裏是我使用QTabWidget樣式表:使用樣式表時QTabWidget tabPosition

/*QTabBar et QTabWidget*/ 
QTabBar::tab { 
    background: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgba(73, 73, 74, 255), stop:1 rgba(40, 40, 40, 255)); 
    border: 1px solid rgb(190, 190, 190); 
    max-height: 0.6em; 
    min-width: 0.6em; 
    padding: 5px; 
    margin-left: -1px; 
    margin-right: -1px; 
} 
QTabBar::tab:selected, QTabBar::tab:hover { 
    background: qlineargradient(spread:pad, x1:0.5, y1:1, x2:0.5, y2:0, stop:0 rgba(39, 117, 219, 255), stop:1 rgba(107, 171, 249, 255)); 
} 


QTabBar::tab:last { 
    border-top-right-radius: 3px; 
    border-bottom-right-radius: 3px; 
    margin-right: 0px; 
} 

QTabBar::tab:first { 
    border-top-left-radius: 3px; 
    border-bottom-left-radius: 3px; 
    margin-left: 0px; 
} 

QTabBar::tab:only-one { 
    border-radius: 3px; 
    margin: 0px; 
} 

由此,在tabPosition設置爲北方或南方,沒問題。但是在東方或西方,TabBar的邊框沒有正確的樣式。

有人知道如何設置TabPar的tabPosition設置爲東/西?

回答

2

Qt stylesheet reference page

的:頂部:左,:右,:這取決於標籤的 方向底部僞狀態。

因此,舉例來說,你的第一個CSS規則適用於水平QTabBar S:

QTabBar::tab:top, QTabBar::tab:bottom { 
    background: qlineargradient(spread:pad, x1:0.5, y1:0, x2:0.5, y2:1, stop:0 rgba(73, 73, 74, 255), stop:1 rgba(40, 40, 40, 255)); 
    border: 1px solid rgb(190, 190, 190); 
    max-height: 0.6em; 
    min-width: 0.6em; 
    padding: 5px; 
    margin-left: -1px; 
    margin-right: -1px; 
} 
相關問題