首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未应用嵌套自定义小部件的样式表

未应用嵌套自定义小部件的样式表
EN

Stack Overflow用户
提问于 2015-04-08 02:00:19
回答 1查看 963关注 0票数 3

我期望下面的代码显示外部主窗口内的一个小的黑色区域:

代码语言:javascript
复制
class Canvas(QWidget):
    pass

app = QApplication(sys.argv)
outer = QWidget()
w = Canvas(outer)
w.setStyleSheet("background-color: black")
outer.show()

但是看起来没有应用样式表:整个外部窗口都是灰色的。但是,如果w是一个QWidget,代码就会像预期的那样工作。当Canvas实例被直接显示(没有父)时,样式表也被正确地应用:

代码语言:javascript
复制
w = Canvas()
w.setStyleSheet("background-color: black")
w.show()

这段代码显示了一个黑色窗口。我在C++中也尝试过QT4.8.6,样式表也适用于从QWidget派生的嵌套小部件。

我遗漏了什么?我在Ubuntu14.04下使用python2.7.6、Qt 4.8.6和PyQt 4.10.4。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-08 03:11:54

默认情况下,QWidget子类将忽略样式表(出于性能原因)。

试试这个:

代码语言:javascript
复制
w = Canvas(outer)
w.setAttribute(QtCore.Qt.WA_StyledBackground)
w.setStyleSheet("background-color: black")
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29504589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档