要实现定时关闭的 QMessageBox,您可以使用 QTimer 来设置定时器并在超时后关闭消息框。以下是一个示例代码:
#include <QMessageBox>
#include <QTimer>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QMessageBox messageBox;
messageBox.setText("这是一条消息");
messageBox.setWindowTitle("提示");
// 设置定时器,并在5000毫秒后触发timeout信号
QTimer::singleShot(5000, &messageBox, SLOT(close()));
messageBox.exec();
return app.exec();
}
上述代码中,通过 QTimer::singleShot()
函数来创建一个单次定时器,在指定的时间间隔(此处为 5000 毫秒)后触发 timeout
信号,从而调用 close()
方法关闭消息框。
请注意将此示例代码放置在合适的位置,并确保已包含必要的头文件和正确初始化 Qt 应用程序。