gpt4 book ai didi

c++ - 如何在设置 QStyleSheet 后获取 QWidget 背景颜色

转载 作者:太空宇宙 更新时间:2023-11-04 12:56:25 30 4
gpt4 key购买 nike

我有我的桌面 QApplication (Qt 5.9),我在上面使用样式表成功设置了样式。在运行时,每个 QWidget 看起来都按预期正确设置了样式。
我需要知道的是特定样式小部件的背景颜色,比方说 QTooltip。

我尝试了 QWidget::palette 方法,但我得到的看起来像是我询问的 QPalette::ColorRole 的系统默认颜色。
此外,qt docs建议在使用样式表时不要使用此方法。

那么...更一般地说,如何查询通过样式表定义的小部件属性?

最佳答案

您不能直接访问样式表的各个属性。您可以做的是检索样式表,然后您需要解析它并找到您正在寻找的属性(some_widget->styleSheet() 会将其作为 QString)。

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

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

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);

关于c++ - 如何在设置 QStyleSheet 后获取 QWidget 背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46457107/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com