Qt::QObject类的定时器

dialog.h:

#ifndef DIALOG_H
#define DIALOG_H
 
#include <QDialog>
#include<QObject>
#include<QTimerEvent>
 
namespace Ui {
class Dialog;
}
 
class Dialog : public QDialog
{
    Q_OBJECT
 
public:
    explicit Dialog(QWidget *parent = 0);
    ~Dialog();
protected:
    void timerEvent(QTimerEvent *);
    int m_nTimerid;
    int count;
 
private slots:
    void on_pushButton_clicked();
 
    void on_pushButton_2_clicked();
 
private:
    Ui::Dialog *ui;
};
 
#endif // DIALOG_H
 

 

 

dialog.cpp:

#include "dialog.h"
#include "ui_dialog.h"
 
Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
    count=0;
}
 
Dialog::~Dialog()
{
    delete ui;
}
void Dialog::timerEvent(QTimerEvent *)
{
    count++;
    QString item=tr("第")+QString::number(count)+tr("秒");
    ui->listWidget->addItem(item);
 
}
void Dialog::on_pushButton_clicked()
{
m_nTimerid=this->startTimer(1000);
}
 
void Dialog::on_pushButton_2_clicked()
{
this->killTimer(m_nTimerid);
}
 

相关文章: