【发布时间】:2016-07-29 18:15:50
【问题描述】:
我有一个类组成调色板并使用QApplication::instance()->setPalette(QPalette palette) 将其分配给应用程序。
而且效果很好。
但后来我尝试使用QPalette QApplication::instance()->palette() 提取一些颜色。
但在这里它不起作用,它只是返回默认调色板,而不是当前调色板。
在我发现它按照文档中的假设和描述工作之后。
现在我只有 2 个问题:
- 为什么它在如此奇怪、无用和违反直觉的环境中工作 模式?
- 如何检索使用设置的调色板
QApplication::instance()->setPalette(QPalette palette)?
附:不,我不能把那个调色板放在别处。
【问题讨论】:
-
你有测试用例吗?
-
@peppe 这是一个非常大的 qt/kde 应用程序...
-
@peppe 但这是一个记录在案的行为
-
似乎是 Qt 中的一个错误。您可以实现自己的
Application : QApplication类并自己解决此问题。你也可以向 Qt 投诉它。就我个人而言,我还注意到 Qt 中有一些令人讨厌的地方。我通常会制作自定义实现来弥补它们。
标签: c++ qt qt5 qapplication