【QT】计时器

文章介绍了如何在Qt中使用QTimer类创建一个计时器,并通过槽函数处理计时器的启动、停止和时间更新。展示了在Widget中设置和操作计时器的基本步骤。
摘要由CSDN通过智能技术生成

前言

qtime:qt的时间类
qtimer:qt的定时类


提示:篇幅问题本文只提供部分代码,下面案例可供参考

一、QT计时器

widget.cpp

#include "widget.h"
#include "ui_widget.h"

static int i;


Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
    connect(&timer,SIGNAL(timeout()),this,SLOT(timeout_slot()));


    time.setHMS(0,0,0,0);
    ui->showTime->setText("00:00:00:000");
}

Widget::~Widget()
{
    delete ui;
}

void Widget::timeout_slot()
{
   // qDebug("HAHAH");

    time = time.addMSecs(40);

    ui->showTime->setText(time.toString("hh:mm:ss.zzz"));
}

void Widget::on_starBt_clicked()
{
    timer.start(30);
}

void Widget::on_closeBt_clicked()
{
    timer.stop();

}

void Widget::on_resetBt_clicked()
{
    timer.stop();
    time.setHMS(0,0,0,0);
    ui->showTime->setText("00:00:00:000");
    ui->bitTime->clear();
    i=0;

}

void Widget::on_bitBt_clicked()
{
    QString temp;
    i=i+1;
    temp.sprintf("%d:",i);
    ui->bitTime->append(temp);
    ui->bitTime->append(time.toString("hh:mm:ss.zzz"));
}

widget.h

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QTimer>
#include <QTime>
#include <QDebug>

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

public:
    explicit Widget(QWidget *parent = 0);
    ~Widget();

    QTimer timer;
    QTime time;

private slots:
    void on_starBt_clicked();

    void timeout_slot();

    void on_closeBt_clicked();

    void on_resetBt_clicked();

    void on_bitBt_clicked();

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值