QMessageBox:无法在框中显示文本(使用c ++)

时间:2017-02-01 08:57:13

标签: c++ qmessagebox

使用简单的(?)任务来创建消息框已经被困住了。实际功能很好,按钮触发我想要的动作,但不知何故,框中的信息文本是不可见的。这是代码:

QMessageBox* msgBox;
    msgBox = new QMessageBox();
    msgBox->setWindowTitle("Open settings from file");
    msgBox->setText("Do you want to save your current settings to file first?");
    msgBox->setStandardButtons(QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);
    msgBox->setDefaultButton(QMessageBox::No);      
    msgBox->exec();

结果如下:

MsgBox with invisible text

如您所见,标题显示但不显示文字。我应该补充说,我已经尝试了各种解决方案,用于调整框的大小,更改字体颜色(没有任何反应),背景颜色(背景颜色仍然保留)和使用其他文本参数,如setInformativeText,setDetailedText具有相同的结果。

有谁知道如何解开这个谜团?

1 个答案:

答案 0 :(得分:0)

我最近遇到了类似的问题,结果发现我的setText文本与我的背景颜色相同。我在样式表中更改了背景的颜色,我的setText出现了! 在父窗口小部件的样式表中:

QDialogBox{
background-color: darkgray;
}

这不是一个明确的解决方案,但我希望它最终可以帮助某人。