我已经使用“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)报告(并确认)。
关于c++ - Qt样式QPalette::windowText颜色在应用程序启动后恢复,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19748752/