QT消息对话框的使用

标准消息对话框

Question消息对话框

//.cpp
void MsgBoxDlg::showQuestionMag()
{
    label->setText("Question Message Box");
    //添加每个按钮执行的结果
    switch (QMessageBox::question(this,"Question消息框","您现在已经修改完成,是否要结束程序?",QMessageBox::Ok|QMessageBox::Cancel,QMessageBox::Ok))
    {
    case QMessageBox::Ok:
        label->setText("Question button/ok");
        break;
    case QMessageBox::Cancel:
        label->setText("Question button/cancel");
        break;
    default:
        break;
    }
    return;
}

在这里插入图片描述

Information消息对话框

//.cpp
void MsgBoxDlg::showInformationMag()
{
    label->setText("Information Message Box");
    QMessageBox::information(this,"Information 消息框","这是Information消息框测试,欢迎您!");
    return;
}

在这里插入图片描述

Warning消息对话框

//.cpp
void MsgBoxDlg::showWarningMag()
{
    label->setText("Warning Message Box");
    //添加每个按钮执行的结果
    switch (QMessageBox::warning(this,tr("Warning 消息框"),tr("您修改的内容仍未保存,是否要保存对文档的修改?"),QMessageBox::Save|QMessageBox::Discard|QMessageBox::Cancel,QMessageBox::Save)) {
    case QMessageBox::Save:
        label->setText("Question button/Save");
        break;
    case QMessageBox::Discard:
        label->setText("Question button/Discard");
        break;
    case QMessageBox::Cancel:
        label->setText("Question button/Cancel");
        break;
    default:
        break;
    }
    return;
}

在这里插入图片描述

Critical消息对话框

//.cpp
void MsgBoxDlg::showCriticalMag()
{
    label->setText("Critical Message Box");
    QMessageBox::critical(this,"Critical 消息框","这是一个Critical消息测试!");
    return;
}

在这里插入图片描述

about消息对话框

//.cpp
void MsgBoxDlg::showAboutMag()
{
    label->setText("About Message Box");
    QMessageBox::about(this,"About 消息框","这是一个About消息测试!");
}

在这里插入图片描述

aboutQt消息对话框

//.cpp
void MsgBoxDlg::showAboutQtMag()
{
    label->setText("AboutQt Message Box");
    QMessageBox::aboutQt(this,"About 消息框");
    return;
}

在这里插入图片描述

自定义消息对话框

void Dialog::showCustomDlg()
{
    label->setText("Custom Message Box");
    QMessageBox customMsgBox;
    customMsgBox.setWindowTitle("用户自定义消息框");
    //添加自定义按钮
    QPushButton *yesBtn=customMsgBox.addButton("yes",QMessageBox::ActionRole);
    QPushButton *noBtn=customMsgBox.addButton("no",QMessageBox::ActionRole);
    QPushButton *cancelBtn=customMsgBox.addButton(QMessageBox::Cancel);//添加标准按钮
    customMsgBox.setText("这是一个用户自定义消息框!");
    customMsgBox.setIconPixmap(QPixmap("Qt.png"));//添加图标
    customMsgBox.exec();
    //添加每个按钮执行的结果
    if(customMsgBox.clickedButton()==yesBtn)
        label->setText("customMsgBox/yes");
    if(customMsgBox.clickedButton()==noBtn)
        label->setText("customMsgBox/no");
    if(customMsgBox.clickedButton()==cancelBtn)
        label->setText("customMsgBox/cancel");
    return;

}

在这里插入图片描述

发布了31 篇原创文章 · 获赞 3 · 访问量 296

猜你喜欢

转载自blog.csdn.net/weixin_44011306/article/details/105243005