一、概述
由于彈出的MessageBox需要手動操作,點選相關操作程式才會進一步執行,是以有時程式使用了MessageBox會阻塞相關功能代碼執行。例如,在序列槽程式設計中,接收到資料或某項配置成功後彈出一個MessageBox,由于沒有及時處理這個彈窗,新來的資料會被阻塞掉,并且重複彈出這個視窗。是以,需要設定自動關閉。
二、實作
利用QTimer定時器設定自動關閉操作,具體如下:
QMessageBox *m_box = new QMessageBox(QMessageBox::Information,QString("通知"),QString("目前配置出成功"));
QTimer::singleShot(1000,m_box,SLOT(accept()));
m_box->exec();
此時,彈出視窗并保持1000ms,然後自動關閉退出。
參考:
- https://blog.csdn.net/zheqingzheqing/article/details/51855274
- https://blog.csdn.net/leisureg/article/details/8672913
------分享知識,讓人愉悅,原創博文,支援請點贊。