qt 标准对话框

Posted 酷熊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt 标准对话框相关的知识,希望对你有一定的参考价值。

if (QMessageBox::Yes == QMessageBox::question(this, tr("Question"),

                                              tr("Are you OK?"),
                                              QMessageBox::Yes | QMessageBox::No,
                                              QMessageBox::Yes))
{
    QMessageBox::information(this, tr("Hmmm..."), tr("I‘m glad to hear that!"));
} else {
    QMessageBox::information(this, tr("Hmmm..."), tr("I‘m sorry!"));
}
 
QMessageBox类的 static 函数优点是方便使用,缺点也很明显:非常不灵活。我们只能使用简单的几种形式。为了能够定制QMessageBox细节,我们必须使用QMessageBox的属性设置 API。如果我们希望制作一个询问是否保存的对话框,我们可以使用如下的代码:
QMessageBox msgBox;
msgBox.setText(tr("The document has been modified."));
msgBox.setInformativeText(tr("Do you want to save your changes?"));
msgBox.setDetailedText(tr("Differences here..."));
msgBox.setStandardButtons(QMessageBox::Save
                          | QMessageBox::Discard
                          | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
switch (ret) {
case QMessageBox::Save:
    qDebug() << "Save document!";
    break;
case QMessageBox::Discard:
    qDebug() << "Discard changes!";
    break;
case QMessageBox::Cancel:
    qDebug() << "Close document!";
    break;
}

以上是关于qt 标准对话框的主要内容,如果未能解决你的问题,请参考以下文章

Qt中的标准对话框之QMessageBox

Qt 标准对话框

Qt标准对话框

如何修改Qt标准对话框的文字

Qt中的标准对话框

Qt标准对话框记录