我已经使用“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/

10-09 06:40