现在的位置: 首页 > 综合 > 正文

今天用了下QMessageBox,发现一闪而过这是为啥?

2018年05月28日 ⁄ 综合 ⁄ 共 425字 ⁄ 字号 评论关闭

百度了下,原来如此啊。

如果我们想自定义图片的话,也是很简单的。这时候就不能使用这几个static的函数了,而是要我们自己定义一个QMessagebox来使用:
 
QMessageBox message(QMessageBox::NoIcon,
"Title", "Content with icon.");

message.setIconPixmap(QPixmap("icon.png"));

message.exec();
 
这里我们使用的是exec()函数,而不是show(),因为这是一个模态对话框,需要有它自己的事件循环,否则的话,我们的对话框会一闪而过哦(感谢laetitia提醒).

需要注意的是,同其他的程序类似,我们在程序中定义的相对路径都是要相对于运行时的.exe文件的地址的。比如我们写"icon.png",意思是是在.exe的当前目录下寻找一个"icon.png"的文件。这个程序的运行效果如下:

 

之前用了.show(),用了.exec()就好啦

抱歉!评论已关闭.