QT的常用对话框的应用

Posted 王会喜

tags:

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

QMessageBox类提供了常用的弹出式对话框:提示、警告、错误、询问、关于对话框

需要添加头文件 

#include <QMessageBox>

MESSAGE  是要是显示的字符串

    void Dialog::criticalMessage()  
    {  
        QMessageBox::StandardButton reply;  
        reply = QMessageBox::critical(this, tr("QMessageBox::critical()"),  
                                        MESSAGE,  
                                        QMessageBox::Abort | QMessageBox::Retry | QMessageBox::Ignore);  
        if (reply == QMessageBox::Abort)  
            criticalLabel->setText(tr("Abort"));  
        else if (reply == QMessageBox::Retry)  
            criticalLabel->setText(tr("Retry"));  
        else  
            criticalLabel->setText(tr("Ignore"));  
    }  
      
    void Dialog::informationMessage()  
    {  
        QMessageBox::StandardButton reply;  
        reply = QMessageBox::information(this, tr("QMessageBox::information()"), MESSAGE);  
        if (reply == QMessageBox::Ok)  
            informationLabel->setText(tr("OK"));  
        else  
            informationLabel->setText(tr("Escape"));  
    }  
      
    void Dialog::questionMessage()  
    {  
        QMessageBox::StandardButton reply;  
        reply = QMessageBox::question(this, tr("QMessageBox::question()"),  
                                        MESSAGE,  
                                        QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);  
        if (reply == QMessageBox::Yes)  
            questionLabel->setText(tr("Yes"));  
        else if (reply == QMessageBox::No)  
            questionLabel->setText(tr("No"));  
        else  
            questionLabel->setText(tr("Cancel"));  
    }  
      
    void Dialog::warningMessage()  
    {  
        QMessageBox msgBox(QMessageBox::Warning, tr("QMessageBox::warning()"),  
                           MESSAGE, 0, this);  
        msgBox.addButton(tr("Save &Again"), QMessageBox::AcceptRole);  
        msgBox.addButton(tr("&Continue"), QMessageBox::RejectRole);  
        if (msgBox.exec() == QMessageBox::AcceptRole)  
            warningLabel->setText(tr("Save Again"));  
        else  
            warningLabel->setText(tr("Continue"));  
      
    }  

 

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

QT常用对话框的使用以及实现

QT 一些非常常用的操作

执行代码时有时不显示对话框片段

QT 常用类

在片段活动中显示自定义对话框

无法在片段内创建对话框