2013-04-26 43 views
0

我試圖設計樣式化QTabWidget以修改選項卡的外觀,並在底部添加藍色邊框。樣式化QTabWidget,只在選項卡窗口小部件上添加底部邊框*不起作用

當我爲QWidget設置border-bottom樣式時,每個窗口小部件都會出現一個藍色邊框 - 包括我想要的一個,QTabWidget,但也包括其他所有窗口小部件,我不想這樣做。看到這個截圖:

enter image description here

這似乎是有前途的,因爲它似乎一切我需要做的是設置bottom-borderQTabWidget,而不是QWidget爲一體。但是,這並不工作,因爲這截圖顯示:

enter image description here

這裏是我的完整樣式 - 它的Qt Designer中設置的QTabWidget

QTabWidget { 
border-bottom: 3px solid #3233ff; 
} 

QTabBar::tab:selected { 
border-left: 1px solid #1c1515; 
padding-left: 10px; 
border-right: 1px solid #1c1515; 
padding-right: 10px; 
border-bottom: 1px solid #1c1515; 
border-top: 1px solid #a0a0a0; 
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, 
           stop: 0 #ededed, stop: 0.7 #9898ff, 
           stop: 0.9 #7e7fff, stop: 1.0 #3233ff); 
} 

QTabBar::tab:!selected { 
border-left: 1px solid #1c1515; 
padding-left: 10px; 
border-right: 1px solid #1c1515; 
padding-right: 10px; 
border-bottom: 1px solid #1c1515; 
border-top: 1px solid #a0a0a0; 
margin-bottom: 2px; 
background: qlineargradient(x1: 0, y1: 0, x2: 0, y2: 1, 
           stop: 0 #e0e0e0, stop: 0.4 #dbdbdb, 
           stop: 0.5 #d3d3d3, stop: 1.0 #cfcfcf); 
} 

我必須做的就是藍色底部邊框出現 - 但僅限於QTabWidget?

回答

1

使用正確的選擇:QTabWidget ::窗格

+0

我嘗試過各種可能性,使用'QTabWidget :: pane',而且可悲的是,他們都沒有預期的效果。關於StackOverflow和/或其他地方的其他問題表明,更好的方法是使用'QWidget'選擇器(然後在子窗口小部件中覆蓋);如截圖所示,這種方法看起來很有前途。儘管如此,在此期間,我通過繼承'QTabWidget',將QTabWidget提升爲這個子類,並且在其子QTabBar實例上調用'setDrawBase(false)'來解決這個問題。 – 2013-04-28 21:28:23

+0

我不能再多說那裏了:http://doc.qt.digia.com/4.7/stylesheet-examples.html#customizing-qtabwidget-and-qtabbar – 2013-04-29 09:01:38

+0

我在那個鏈接(和其他人的例子中玩過)廣泛發佈我的問題之前。 – 2013-04-30 09:38:34

相關問題