Qt入门-提示、警告、错误、询问、关于对话框

转载 2015年11月18日 21:42:21

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

原型如下:

  1. void    about ( QWidget * parent, const QString & title, const QString & text )  
  2. void    aboutQt ( QWidget * parent, const QString & title = QString() )  
  3. StandardButton  critical ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )  
  4. StandardButton  information ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )  
  5. StandardButton  question ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )  
  6. StandardButton  warning ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton )  


(1)title表示标题

(2)text是对话框中的内容信息

(3)buttons是要显示的按钮,它可以是:

  1. NoButton           = 0x00000000,  
  2. Ok                 = 0x00000400,  
  3. Save               = 0x00000800,  
  4. SaveAll            = 0x00001000,  
  5. Open               = 0x00002000,  
  6. Yes                = 0x00004000,  
  7. YesToAll           = 0x00008000,  
  8. No                 = 0x00010000,  
  9. NoToAll            = 0x00020000,  
  10. Abort              = 0x00040000,  
  11. Retry              = 0x00080000,  
  12. Ignore             = 0x00100000,  
  13. Close              = 0x00200000,  
  14. Cancel             = 0x00400000,  
  15. Discard            = 0x00800000,  
  16. Help               = 0x01000000,  
  17. Apply              = 0x02000000,  
  18. Reset              = 0x04000000,  
  19. RestoreDefaults    = 0x08000000,  


(4)defaultButton是默认激活的按钮

(5)对话框的返回值即是用户最终点击的按钮。

 

示例:

  1. void Dialog::criticalMessage()  
  2. {  
  3.     QMessageBox::StandardButton reply;  
  4.     reply = QMessageBox::critical(this, tr("QMessageBox::critical()"),  
  5.                                     MESSAGE,  
  6.                                     QMessageBox::Abort | QMessageBox::Retry | QMessageBox::Ignore);  
  7.     if (reply == QMessageBox::Abort)  
  8.         criticalLabel->setText(tr("Abort"));  
  9.     else if (reply == QMessageBox::Retry)  
  10.         criticalLabel->setText(tr("Retry"));  
  11.     else  
  12.         criticalLabel->setText(tr("Ignore"));  
  13. }  
  14.   
  15. void Dialog::informationMessage()  
  16. {  
  17.     QMessageBox::StandardButton reply;  
  18.     reply = QMessageBox::information(this, tr("QMessageBox::information()"), MESSAGE);  
  19.     if (reply == QMessageBox::Ok)  
  20.         informationLabel->setText(tr("OK"));  
  21.     else  
  22.         informationLabel->setText(tr("Escape"));  
  23. }  
  24.   
  25. void Dialog::questionMessage()  
  26. {  
  27.     QMessageBox::StandardButton reply;  
  28.     reply = QMessageBox::question(this, tr("QMessageBox::question()"),  
  29.                                     MESSAGE,  
  30.                                     QMessageBox::Yes | QMessageBox::No | QMessageBox::Cancel);  
  31.     if (reply == QMessageBox::Yes)  
  32.         questionLabel->setText(tr("Yes"));  
  33.     else if (reply == QMessageBox::No)  
  34.         questionLabel->setText(tr("No"));  
  35.     else  
  36.         questionLabel->setText(tr("Cancel"));  
  37. }  
  38.   
  39. void Dialog::warningMessage()  
  40. {  
  41.     QMessageBox msgBox(QMessageBox::Warning, tr("QMessageBox::warning()"),  
  42.                        MESSAGE, 0, this);  
  43.     msgBox.addButton(tr("Save &Again"), QMessageBox::AcceptRole);  
  44.     msgBox.addButton(tr("&Continue"), QMessageBox::RejectRole);  
  45.     if (msgBox.exec() == QMessageBox::AcceptRole)  
  46.         warningLabel->setText(tr("Save Again"));  
  47.     else  
  48.         warningLabel->setText(tr("Continue"));  
  49.   
  50. }  


界面:


相关文章推荐

QT弹出消息框

QMessageBox::information(this, QString::fromLocal8Bit("警告"),QString::fromLocal8Bit("有种你再点击一次"));...
  • lcalqf
  • lcalqf
  • 2015年10月09日 14:41
  • 3876

Qt入门-提示、警告、错误、询问、关于对话框

QMessageBox类提供了常用的弹出式对话框:提示、警告、错误、询问、关于对话框 原型如下: void about ( QWidget * parent, const QString & ti...
  • xgbing
  • xgbing
  • 2012年08月03日 17:59
  • 22080

QT5入门之6 - Qt提示对话框

QT 提示对话框类型很多,有提示、警告、错误、询问、关于等。最简单的: QMessageBox::warning (this,tr(“提示信息”),tr(“数据超范围。”));void a...

[QT]QMessageBox 的四种用法

之前的一些QT笔记,整理一下。 void MainWindow::on_info_clicked() { //info QMessageBox::information(this, "Title",...

PyQt5学习笔记07----通用对话框QMessageBox

PyQt5中为我们提供了很多默认信息框QMessageBox,注意为方便使用需要导入模块。 QMessageBox对话框包含类型只是图标不同其他无太大差别: QMessageBox.info...

Qt小提示Demo(三种提示框)

Qt的提示功能有3种: 1、自带的部件提示函数setToolTip(QString) 2、QToolTip定义单词提示,提升部件就可以了 3、自定义类和自画提示框 针对每一个提示,分别做了De...

Qt学习(七) QMessageBox弹出的对话框关闭后,整个程序退出的解决方法

这两天
  • wwkaven
  • wwkaven
  • 2014年07月13日 09:10
  • 3693

QMessageBox的常用方法用总结

普通用法QMessageBox是在编程中非常常用的一个类,特别是我们需要要几个小小的提示而又不需要太多的逻辑的对话框。这时,最简单的用法就是直接使用QMessageBox的静态方法生成对话框,对于一般...

Qt浅谈之四十八窗口下方弹出提示信息

一、简介       在项目中一般都会弹出新的子对话框显示提示信息,但对于一些因后台数据变化引发的提示还是在窗口下方弹出提示信息比较合理。点击按钮弹出提示信息,当鼠标放在提示信息对话框上时,暂时动画...

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数

给定A, B两个整数,不使用除法和取模运算,求A/B的商和余数。 1.   最基本的算法是,从小到大遍历: for (i = 2 to A -1)          if (i * B > A)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Qt入门-提示、警告、错误、询问、关于对话框
举报原因:
原因补充:

(最多只允许输入30个字)