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

QMessageBox: Failing to display text within the box (using c++)

本文关键字:文本 使用 c++ 显示 QMessageBox      更新时间:2023-10-16

一直坚持使用简单(?)任务来创建消息框。实际功能效果很好,按钮触发了我想要的操作,但不知何故,框中的信息性文本是不可见的。代码如下:

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();

结果如下:

带有不可见文本的消息框

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

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

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

QDialogBox{
background-color: darkgray;
}

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