Qt__QMessageBox

时间:2022-11-13 21:04:45

转自豆子空间

显示窗口##

Qt提供了五个类似的接口,用于显示类似的窗口。

    QMessageBox::information(NULL, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::critical(NULL, "critical", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::warning(NULL, "warning", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::question(NULL, "question", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
QMessageBox::about(NULL, "About", "About this application");
QMessageBox::about(NULL, "About", "About this <font color='red'>application</font>");

Qt__QMessageBox

Qt__QMessageBox

Qt__QMessageBox

Qt__QMessageBox

Qt__QMessageBox

Qt__QMessageBox

如果想自定义图片的话,也是很简单的。这时候就不能使用这几个static的函数了,而是要定义一个QMessagebox来使用:

QMessageBox message(QMessageBox::NoIcon, "Title", "Content with icon.");
message.setIconPixmap(QPixmap("icon.png"));
message.exec();

使用的是exec()函数,而不是show(),因为这是一个模态对话框,需要有它自己的事件循环,否则的话,对话框会一闪而过.

Qt__QMessageBox

交互##

最后再来说一下怎么处理对话框的交互。使用QMessageBox类的时候有两种方式,一是使用static函数,另外是使用构造函数。

static函数的方式###

注意,static函数都是要返回一个StandardButton,可以通过判断这个返回值来对用户的操作做出相应。

QMessageBox::StandardButton rb = QMessageBox::question(NULL, "Show Qt", "Do you want to show Qt dialog?", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
if(rb == QMessageBox::Yes)
{
QMessageBox::aboutQt(NULL, "About Qt");
}

构造函数的方式###

需要自己运行判断一下

QMessageBox message(QMessageBox::NoIcon, "Show Qt", "Do you want to show Qt dialog?", QMessageBox::Yes | QMessageBox::No, NULL);
if(message.exec() == QMessageBox::Yes)
{
QMessageBox::aboutQt(NULL, "About Qt");
}

其实道理上也是差不多的。

Qt__QMessageBox的更多相关文章

    随机推荐

    1. 嵌入式开发中常见3个的C语言技巧

      Hey,大家好!我是CrazyCatJack.今天我来说几个在嵌入式开发中常用的C语言技巧吧.也许你曾经用过,也许你只是见到过但是没有深入理解.那么今天好好补充下吧^_^ 1.指向函数的指针 指针不光 ...

    2. leetcode 74&period; Search a 2D Matrix

      Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the follo ...

    3. Java类文件最大限制

      今天在往一个jsp文件里添加代码时,项目跑起来访问这个jsp时报错.. The code of method _jspService(HttpServletRequest, HttpServletRe ...

    4. python的中文编码问题

      下文转自 http://blog.csdn.net/mayflowers/article/details/1568852 1.        在Python中使用中文 在Python中有两种默认的字符 ...

    5. Nginx开发从入门到精通 学习目录分享学习 &lpar;阿里著作&rpar;

      Nginx开发从入门到精通   缘起 nginx由于出色的性能,在世界范围内受到了越来越多人的关注,在淘宝内部它更是被广泛的使用,众多的开发以及运维同学都迫切的想要了解nginx模块的开发以及它的内部 ...

    6. The number of divisors&lpar;约数&rpar; about Humble Numbers&lbrack;HDU1492&rsqb;

      The number of divisors(约数) about Humble Numbers Time Limit: 2000/1000 MS (Java/Others)    Memory Lim ...

    7. sencha Touch 2&period;4 学习之 XTemplate模板

      XTemplate模板 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> & ...

    8. &lbrack;Irving&rsqb;SQL去重复-DISTINCT用法

      在表中,可能会包含重复值.这并不成问题,不过,有时您也许希望仅仅列出不同(distinct)的值.关键词 distinct用于返回唯一不同的值. 表A: 示例1 select distinct nam ...

    9. javascript特效300例----抄书喽

      -javascript300例- #body_div { background-color: #202425; color: white; margin: 0 auto; border: 5px gr ...

    10. javax&period;el&period;PropertyNotFoundException&colon;Property &&num;39&semi;statisDate&&num;39&semi; not found on type java&period;lang&period;String

      1.错误描述 javax.el.PropertyNotFoundException:Property 'statisDate' not found on type java.lang.String 2 ...

    相关文章