QMessageBox::information()
函数创建的消息框默认情况下是一个模态对话框,需要用户手动关闭。它没有提供直接的选项来在指定时间后自动消失。
如果您想要在特定时间后自动关闭消息框,可以使用QTimer
来实现。以下是一个示例代码,在两秒后关闭QMessageBox::information()
消息框:
#include <QApplication>
#include <QMessageBox>
#include <QTimer>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建一个信息消息框
QMessageBox msgBox;
msgBox.setWindowTitle("信息");
msgBox.setText("这是一条重要的信息!");
// 显示消息框
msgBox.show();
// 使用定时器,在两秒钟后关闭消息框
QTimer::singleShot(2000, &msgBox, SLOT(close()));
return app.exec();
}
上述代码使用了 QTimer::singleShot()
函数,在指定的时间间隔(这里是2000毫秒,即2秒)后调用 close()
槽函数来关闭消息框。
请注意,通过调用 show()
而不是 exec()
方法来显示消息框,并且没有将其设置为模态对话框。这样做可以让程序继续执行并启动事件循环,以便处理定时器事件和其他GUI事件。
这样,运行程序后会弹出一个标题为 “信息”、内容为 “这是一条重要的信息!” 的消息框,并在两秒钟后自动关闭。
内容由零声教学AI助手提供,问题来源于学员提问