QT程序:2分钟出现一个消息框,20分钟后停止
时间: 2024-01-22 21:17:35 浏览: 76
您可以使用Qt中的QTimer类来实现这个功能。首先创建一个QTimer对象并将其与一个槽函数连接,该槽函数将显示消息框。然后,使用QTimer对象的start()函数启动计时器,并将其设置为2分钟。最后,使用QTimer对象的stop()函数将计时器停止,该函数应在20分钟后调用。以下是一个示例代码:
```cpp
#include <QApplication>
#include <QMessageBox>
#include <QTimer>
class MainWindow : public QObject {
Q_OBJECT
public:
explicit MainWindow(QObject *parent = nullptr) : QObject(parent) {
QTimer *timer = new QTimer(this);
connect(timer, &QTimer::timeout, this, &MainWindow::showMessageBox);
timer->start(120000); // 2分钟
QTimer::singleShot(1200000, timer, &QTimer::stop); // 20分钟
}
public slots:
void showMessageBox() {
QMessageBox::information(nullptr, "消息框", "2分钟已过");
}
};
int main(int argc, char *argv[]) {
QApplication a(argc, argv);
MainWindow w;
return a.exec();
}
#include "main.moc"
```
在上面的示例中,我们创建了一个名为MainWindow的类,它继承自QObject。在构造函数中,我们创建了一个QTimer对象,并将其与MainWindow类的showMessageBox()槽函数连接。然后,我们使用QTimer对象的start()函数来启动计时器,并将其设置为2分钟。最后,我们使用QTimer::singleShot()函数来在20分钟后调用QTimer对象的stop()函数,以停止计时器。
在showMessageBox()槽函数中,我们显示一个简单的消息框,以通知用户2分钟已过。
请注意,在main()函数中,我们创建了一个QApplication对象和MainWindow对象,并最终启动Qt事件循环。
阅读全文