首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在设置QWidget后获得QStyleSheet背景色

如何在设置QWidget后获得QStyleSheet背景色
EN

Stack Overflow用户
提问于 2017-09-27 20:57:14
回答 1查看 1.4K关注 0票数 1

我有我的桌面QApplication (QT5.9),我使用样式表成功地设置了一个样式。在运行时,每个QWidget看起来都按照预期正确地样式。

我需要知道的是一个特定的样式小部件的背景色,比如一个QTooltip。

我尝试了QWidget::palette方法,但是我得到的看起来像是我询问的QPalette::ColorRole系统的默认颜色。

此外,qt文档建议在使用样式表时不要使用此方法。

所以..。更普遍地说,如何对通过样式表定义的小部件属性进行查询?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-27 21:19:07

不能直接访问样式表的各个属性。您可以做的是检索样式表,然后需要解析它并找到要查找的属性(some_widget->styleSheet()将以QString的形式返回它)。

如果您不想这样做,并且希望直接访问调色板,您必须使用它而不是样式表来更改颜色。

如何使用调色板而不是样式表对代码进行样式设置的示例代码:

代码语言:javascript
复制
QPalette px;
px.setColor(QPalette::Text, QColor(255, 255, 255)); // Set text color to white
px.setColor(QPalette::Base, QColor(0, 0, 0)); // Set background to black
some_widget->setPalette(px);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46457107

复制
相关文章

相似问题

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