当前位置 : 主页 > 编程语言 > c语言 >

Qt timerEvent实现简单秒表功能

来源:互联网 收集:自由互联 发布时间:2023-02-01
本文实例为大家分享了Qt timerEvent实现简单秒表的具体代码,供大家参考,具体内容如下 #ifndef WIDGET_H#define WIDGET_H//头文件#includeQWidget#includeQObject#includeQTimerEvent#includeQTimer namespace Ui {cl

本文实例为大家分享了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语言中scanf函数的原样输入的坑及解决
下一篇:没有了
网友评论