今天用了下QMessageBox,發現一閃而過這是爲啥?

百度了下,原來如此啊。

如果我們想自定義圖片的話,也是很簡單的。這時候就不能使用這幾個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()就好啦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章