这个倒计时是利用Qt提供的QTimer这个类来完成的计时,我们在做一些嵌入式的项目的时候时常会用到计时来完成一些功能,这里借倒计时来提供一种思路。
先上图再上代码
代码:
mainwindow.h
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> namespace Ui { class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private slots: void on_pushButton_clicked(); void myslot(); private: Ui::MainWindow *ui; QTimer *timer; }; #endif // MAINWINDOW_H
mainwindow.cpp
#include "mainwindow.h" #include "ui_mainwindow.h" #include <QtCore> #include <QTimer> #include <QMessageBox> #include <QDebug> #include <QString> MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); timer = new QTimer(this); connect(timer, SIGNAL(timeout()), this, SLOT(myslot())); } MainWindow::~MainWindow() { delete ui; } void MainWindow::myslot() { QMessageBox::warning(this, "timer", QObject::trUtf8("时间到!")); timer->stop(); } void MainWindow::on_pushButton_clicked() { QString str = ui->textEdit->toPlainText(); bool OK; int num = str.toInt(&OK, 10); num *= 1000; timer->start(num); }
main.cpp
#include "mainwindow.h" #include <QApplication> int main(int argc, char *argv[]) { QApplication a(argc, argv); MainWindow w; w.show(); return a.exec(); }