2014-02-20 49 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 

解决了这个问题。

相关问题