要在10秒后自动关闭提示框,您可以使用QTimer来实现。以下是一个示例代码:
#include <QMessageBox>
#include <QTimer>
// ...
QMessageBox msgBox;
msgBox.setWindowTitle(tr("提示"));
msgBox.setText(info);
msgBox.show();
// 创建一个定时器,设置单次触发,10秒后触发timeout()信号
QTimer::singleShot(10000, &msgBox, &QMessageBox::close);
在上面的代码中,我们首先创建了一个QMessageBox,并显示出来。然后使用QTimer::singleShot()方法创建了一个定时器,在10秒后触发timeout()信号,并将其连接到消息框的关闭槽函数。这样,当定时器触发后,消息框就会被自动关闭。
请注意,在以上代码中的this
指针是指当前所在的类或窗口对象。如果您将上述代码直接放在QWidget派生类中,则可以使用this
作为父对象传递给消息框构造函数;否则,请将适当的父对象传递给构造函数。
内容由零声教学AI助手提供,问题来源于学员提问