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

来源:互联网 发布:软件设计师怎么备考 编辑:程序博客网 时间:2024/05/01 17:22

百度了下,原来如此啊。

如果我们想自定义图片的话,也是很简单的。这时候就不能使用这几个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()就好啦

0 0
原创粉丝点击