QScrollBar在运行时不接受样式

时间:2014-02-20 15:17:14

标签: qtstylesheets

我正在尝试在我的Qt用户界面上应用stylesheet。它适用于QTreeWidgetQToolBarQToolButton等元素。它也适用于QScrollBar s上的设计器预览,但是当我运行应用程序时,滚动条是像Ubunut的原生/ Windows风格的滚动条一样,无视我的设计风格。它发生在Gnome-Shell的Ubuntu,xinit(没有任何窗口管理器)和Windows 7中。

有什么问题?

1 个答案:

答案 0 :(得分:0)

好吧,我选择了QScrollBar ID-Selectors和Descendant-Selectors这样的组合:

QTreeWidget#list QScrollBar:vertical {

它在qt设计师中运作良好。但是看起来像一个bug的东西使它在运行时不起作用,因为在运行时Qt决定我的滚动条不再是我的treewidget的子项并且它将滚动条识别为treewidget的父项的子项,这使得它成为treewidget的兄弟(至少它的样式表管理器这样做)。所以选择它是这样的:

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

解决了这个问题。