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
  • 5063

qt增加错误信息对话框

// 错误信息对话框 void MyWidget::on_pushButton_7_clicked() { QErrorMessage *dialog = new QErrorMessa...
  • wocaonimahacksb
  • wocaonimahacksb
  • 2014年06月12日 13:19
  • 287

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

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

Qt标准对话框之错误信息对话框(QErrorMessge)

public slots : void is_clicked(); private : QErrorMessage *error;构造函数:MainWindow::MainWindow...
  • RGBMarco
  • RGBMarco
  • 2017年05月21日 17:11
  • 415

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

QT 提示对话框类型很多,有提示、警告、错误、询问、关于等。 最简单的: QMessageBox::warning (this,tr(“提示信息”),tr(“数据超范围。”)); void ...
  • a379039233
  • a379039233
  • 2015年10月15日 11:50
  • 3805

Qt弹出一个对话框

Qt弹出一个对话框
  • kongzhongloucsdn
  • kongzhongloucsdn
  • 2017年01月18日 15:17
  • 4294

解决Qt编写对话框出现的问题

1.   VS2008中,Qt Designer设计完对话框 xxx.ui ,用 uic.exe 生成头文件,用法: uic xxx.ui>ui_xxx.h 2.   将生成的 ui_xxx.h 添...
  • remington2
  • remington2
  • 2015年09月01日 14:00
  • 233

Qt标准对话框之消息对话框(QMessageBox)

public slots: void question(); void information(); void warning(); void critical(); ...
  • RGBMarco
  • RGBMarco
  • 2017年05月21日 15:38
  • 243

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

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

Qt学习之路之QMessageBox消息框

下面是 QMessageBox 的 实例: 开发环境: VS 2013, Qt版本: 5.4.0 下面附上代码: #include #include int main(int argc, ...
  • HK_5788
  • HK_5788
  • 2015年04月06日 16:11
  • 7325
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Qt入门-提示、警告、错误、询问、关于对话框
举报原因:
原因补充:

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