首页 > 代码库 > QT的常用对话框的应用

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的常用对话框的应用