QMessageBox: не отображать текст внутри поля (используя C++)

Мы застряли на долгом пути с простой (?) задачей создания сообщения. Реальная функциональность прекрасно работает, кнопки запускают нужные мне действия, но каким-то образом информативный текст в поле невидим. Вот код:

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 с невидимым текстом

Как вы можете видеть, отображается заголовок, но не текст. Я должен добавить, что я испробовал все виды решений, для изменения размера окна, изменения цвета шрифта (ничего не происходит), цвета фона (цвет фона все еще остается) и использования других параметров текста, таких как setInforrativeText, setDetailedText с тем же результатом.

Кто-нибудь знает, как разгадать эту тайну?

1 ответ

Недавно я столкнулся с подобной проблемой, оказалось, что мой текст setText был того же цвета, что и фон. Я изменил цвет фона в моей таблице стилей, и мой setText появился! В моей таблице стилей родительского виджета:

QDialogBox{
background-color: darkgray;
}

Это не окончательное решение, но я надеюсь, что оно может помочь кому-то в конце концов.

Другие вопросы по тегам