QMessageBox(消息对话框)

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  1. 前言
  2. 使用基于熟悉的API实现
  3. 使用静态函数成员实现

前言

当我们再使用QT程序时,用户希望得到一些提示,可以用QMessageBox来实现


一、使用基于属性的API

1.简单实现

//创建一个消息对话框对象
QMessageBox msgBox;
//设置消息对话框的文本
msgBox.setText(QString::fromLocal8Bit("我是消息对话框,请选择确定!"));
//以模态的方式显示消息对话框
msgBox.exec();

2.复杂实现

QMessageBox msgBox;//创建一个消息对话框对象
msgBox.setText(The document has been modified.); //设置消息对话框的显示文本
msgBox.setInformativeText(Do you want to save your changes?);//设置消息对话框的信息文本
//设置标准的按钮:保存 丢弃 取消,按钮的选择,可以是枚举类型中的任意一个
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
//默认设置消息盒子的按钮操作:保存
msgBox.setDefaultButton(QMessageBox::Save);
//消息盒子显示
int ret = msgBox.exec();
switch (ret) 
{
  case QMessageBox::Save:
      qDebug()<<QMessageBox::Save;
      break;
  case QMessageBox::Discard:
      qDebug()<<QMessageBox::Discard;
      break;
  case QMessageBox::Cancel:
      qDebug()<<MessageBox::Cancel;
      break;
  default:
      // should never be reached
      break;
}

二、使用静态函数成员

1.实现方法

代码如下(示例):

//通过调用静态函数实现 对话框的调用
QString text = QString::fromLocal8Bit("这是一个消息对话框.....");
QString msg = QString::fromLocal8Bit("信息文本....");
int ret = QMessageBox::warning(this, //传递父窗口的对象指针
                               text,//对话框的文本 tr是国际标准
                               msg,//对话框的信息文本
                                 QMessageBox::Save | QMessageBox::Discard
                                 | QMessageBox::Cancel,
                                 QMessageBox::Save);
switch (ret)
 {
  case QMessageBox::Save:
        qDebug()<<Save was clicked;
        break;
  case QMessageBox::Discard:
        qDebug()<<Don't Save was clicked;
        break;
  case QMessageBox::Cancel:
        qDebug()<< Cancel was clicked;
        break;
  default:
        qDebug()<<should never be reached;
        break;
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值