Qt timerEvent实现简单秒表功能

 更新时间:2022年08月05日 15:16:40   作者:Haragarden  
这篇文章主要为大家详细介绍了Qt timerEvent实现简单秒表功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文实例为大家分享了Qt timerEvent实现简单秒表的具体代码,供大家参考,具体内容如下

#ifndef WIDGET_H
#define WIDGET_H
//头文件
#include<QWidget>
#include<QObject>
#include<QTimerEvent>
#include<QTimer>
 
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<QObject>
#include<QTimer>
#include<QDebug>
 
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

效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • C++中list的使用方法及常用list操作总结

    C++中list的使用方法及常用list操作总结

    这篇文章主要介绍了C++中list的使用方法及常用list操作总结的相关资料,需要的朋友可以参考下
    2017-06-06
  • C语言文件操作详情(二)

    C语言文件操作详情(二)

    这篇文章主要介绍了C语言文件操作详情,文章基于上一篇文章的内容继续展开C语言文件操作的相关详情,需要的小伙伴可以参考一下
    2022-04-04
  • C++基于boost asio实现sync tcp server通信流程详解

    C++基于boost asio实现sync tcp server通信流程详解

    这篇文章主要介绍了C++基于boost asio实现sync tcp server通信的流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-07-07
  • 解析c++中的默认operator=操作的详解

    解析c++中的默认operator=操作的详解

    本篇文章是对c++中的默认operator=操作的应用进行了详细的分析介绍。需要的朋友参考下
    2013-05-05
  • C++中double浮点数精度丢失的深入分析

    C++中double浮点数精度丢失的深入分析

    这篇文章主要给大家介绍了关于C++中double浮点数精度丢失的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • C语言数据结构系列队列篇

    C语言数据结构系列队列篇

    本章我们将学习 "队列" ,首先介绍队列的概念和结构,然后我们将着重讲解栈的实现。我们从零开始写队列的接口,并从零开始步步解读。本章将继续巩固画思路草图的能力,只要思路草图画好了,就可以很轻松地将其转换成代码
    2022-02-02
  • c++ base64编解码使用示例

    c++ base64编解码使用示例

    这篇文章主要介绍了c++的base64编解码使用示例,需要的朋友可以参考下
    2014-02-02
  • c 调用python出现异常的原因分析

    c 调用python出现异常的原因分析

    本篇文章是对使用c语言调用python出现异常的原因进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • opencv3/C++基于颜色的目标跟踪方式

    opencv3/C++基于颜色的目标跟踪方式

    今天小编就为大家分享一篇opencv3/C++基于颜色的目标跟踪方式,具有很好的参考价值,希望对的有所帮助。一起跟随小编过来看看吧
    2019-12-12
  • C++中的Lambda表达式详解

    C++中的Lambda表达式详解

    这篇文章主要介绍了C++中的Lambda表达式详解,本文讲解了基本语法、Lambda的使用等内容,需要的朋友可以参考下
    2014-10-10

最新评论