一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Qt timerEvent实现简单秒表功能代码示例

时间:2022-08-05 编辑:袖梨 来源:一聚教程网

本篇文章小编给大家分享一下Qt timerEvent实现简单秒表功能代码示例,文章代码介绍的很详细,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。

#ifndef WIDGET_H
#define WIDGET_H
//头文件
#include
#include
#include
#include
 
namespace Ui {
class Widget;
}
 
class Widget : public QWidget
{
    Q_OBJECT
 
public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();
    double i = 0;
    //QString s = QString::number(i);
 
private:
    Ui::Widget *ui;
    //QTimer *myTimer;// 定义定时器对象
    int id1,id3;
    int id2 = 0;
 
protected:
    void timerEvent(QTimerEvent *event); // 声明
 
private slots:
    void on_pushButton_clicked();
    void on_pushButton_3_clicked();
    void on_pushButton_2_clicked();
};
 
#endif // WIDGET_H
//widget.cpp
#include "widget.h"
#include "ui_widget.h"
#include
#include
#include
 
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->lineEdit->setFixedHeight(60);
    ui->lineEdit->setFont(QFont( "Arial" , 32 ));
    ui->lineEdit->setText("0.0");
 
}
 
Widget::~Widget()
{
    delete ui;
}
 
 
void Widget::timerEvent(QTimerEvent *event)
{
    // 判断是哪个定时器
    if(event->timerId() == id1){
        qDebug() << "timer1";
        i = i+0.1;
        QString s = QString::number(i);
        ui->lineEdit->setText(s);
    }
 
}
void Widget::on_pushButton_clicked()  //开始
{
    id1 = startTimer(100);
    //timer_1 = startTimer(100);
 
}
 
void Widget::on_pushButton_3_clicked()  //停止
{
    killTimer(id1);
}
 
void Widget::on_pushButton_2_clicked()  //记录
{
    QString s = ui->lineEdit->text();
    ui->listWidget->addItem(s);
    id2=id2+1;
    QString id2s = QString::number(id2);
    ui->label_2->setText("记录次数:"+id2s);
}

ui

效果

热门栏目