2014-02-20 70 views
0

我試圖在我的Qt用戶界面上應用stylesheet。它在QTreeWidget,QToolBar,QToolButton等元素上運行良好。它也適用於設計器預覽的QScrollBar,但是當我運行應用程序時,滾動條被繪製爲原生Ubunut/Windows風格的滾動條,忽略了我設計的樣式。它發生在Ubuntu的Gnome-Shell,xinit(沒有任何窗口管理器)和Windows 7.QScrollBar在運行時不接受樣式

問題是什麼?

回答

0

嗯,我用這樣的ID選擇器和後代選擇器的組合選擇QScrollBar

QTreeWidget#list QScrollBar:vertical { 

它在Qt設計工作也應該。但是看起來像一個bug的東西使得它在運行時無法工作,因爲在運行時,Qt決定我的滾動條不再是我的treewidget的子項,並且它將滾動條識別爲treewidget的父節點的子節點,這使得它成爲treewidget的兄弟節點(至少它的樣式表管理器是這樣做的)。所以選擇它像這樣:

QScrollBar:vertical { 
#centralWidget QScrollBar:vertical { // Where centralWidget is the parent of the treewidget 

解決了這個問題。

相關問題