我使用稍微修改过的“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 似乎都不是问题