gpt4 book ai didi

c++ - qt 样式 QPalette::windowText 颜色在应用程序启动后恢复

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:25:36 26 4
gpt4 key购买 nike

我使用稍微修改过的“cleanlooks”样式创建了一个 Qt 应用程序。我试过使用以下代码设置 WindowText,但更改没有生效。当我打开应用程序时,它会在后台以正确的文本颜色打开,当我单击该应用程序并将其带到前台时,文本会恢复为黑色,我无法弄清楚为什么。有人知道为什么会这样或者我应该如何设置窗口文本吗?

#include <QtGui/QApplication>
#include <QtGui/QPalette>
#include <QtGui/QColor>
#include "mainwindow.h"

int main(int argc, char *argv[])
{
QApplication a(argc, argv);

QPalette p;

p.setBrush(QPalette::WindowText, QColor(255,0,0));

a.setStyle("cleanlooks");
a.setPalette(p);

MainWindow w;
w.show();

return a.exec();
}

我正在使用 OSX 10.9 和 Qt 4.8.6


更新 1

我在运行从源代码构建的 Qt 4.8.5 的 Windows 7 机器上测试了代码,没有出现此问题。我似乎不是 MacOS 10.9 或 Qt 4.8.6 的问题

最佳答案

我认为您的答案已被报告(并确认)为 QT 错误 (QTBUG-32067)。

While we have never really supported custom palette roles for most of QMacStyle I think we should allow setting a custom palette on it even if it breaks for some cases. Jens comment on QTBUG-32067

关于c++ - qt 样式 QPalette::windowText 颜色在应用程序启动后恢复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19748752/

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