Qt實(shí)現(xiàn)定時(shí)器的兩種方法分享
方法一
生成widget基類對(duì)象
添加兩個(gè)txtlabel

#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
void timerEvent(QTimerEvent* timer);
int timeId1;
int timeId2;
private:
Ui::Widget *ui;
};
#endif // WIDGET_H#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
//#include <QTimerEvent>
//#include <QTimer>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
timeId1 = startTimer(1000);
timeId2 =startTimer(2000);
}
void Widget::timerEvent(QTimerEvent* timer)
{
if(timer->timerId() == timeId1)
{
static int num = 1;
ui->label_3->setText(QString::number(num++));
}
else if(timer->timerId() == timeId2)
{
static int num = 1;
ui->label_4->setText(QString::number(num++));
}
}
Widget::~Widget()
{
delete ui;
}效果圖

方法二
#include "widget.h"
#include "ui_widget.h"
#include <QDebug>
#include <QTimer>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
timeId1 = startTimer(1000);
timeId2 =startTimer(2000);
QTimer* timer = new QTimer(this);
timer->start(500);
connect(timer, &QTimer::timeout,[=]()
{
static int num = 1;
ui->label_5->setText(QString::number(num++));
});
// 定時(shí)器停止
// connect(ui->pushbtn_stop, &QPushButton::clicked, timer,&QTimer::stop);
connect(ui->pushbtn_stop, &QPushButton::clicked, [=](){
timer->stop();
});
}
void Widget::timerEvent(QTimerEvent* timer)
{
if(timer->timerId() == timeId1)
{
static int num = 1;
ui->label_3->setText(QString::number(num++));
}
else if(timer->timerId() == timeId2)
{
static int num = 1;
ui->label_4->setText(QString::number(num++));
}
}
Widget::~Widget()
{
delete ui;
}效果圖

到此這篇關(guān)于Qt實(shí)現(xiàn)定時(shí)器的兩種方法分享的文章就介紹到這了,更多相關(guān)Qt定時(shí)器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Qt兩種定時(shí)器使用實(shí)現(xiàn)方式
- Qt定時(shí)器(QTimer)的3種使用方法
- Qt定時(shí)器類QTimer使用詳解與注意事項(xiàng)
- QT定時(shí)器事件的實(shí)現(xiàn)示例
- Qt使用事件與定時(shí)器實(shí)現(xiàn)字幕滾動(dòng)效果
- Qt實(shí)現(xiàn)高精度定時(shí)器
- Qt實(shí)現(xiàn)線程與定時(shí)器的方法
- Qt基于定時(shí)器實(shí)現(xiàn)動(dòng)圖展示效果
- Qt基礎(chǔ)開(kāi)發(fā)之Qt多線程類QThread與Qt定時(shí)器類QTimer的詳細(xì)方法與實(shí)例
- Qt定時(shí)器和隨機(jī)數(shù)詳解
- Qt中定時(shí)器 QTimerEvent 和 QTimer的使用
相關(guān)文章
C語(yǔ)言中計(jì)算字符串長(zhǎng)度與分割字符串的方法
這篇文章主要介紹了C語(yǔ)言中計(jì)算字符串長(zhǎng)度與分割字符串的方法,是C語(yǔ)言入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2015-08-08
C++?LeetCode0538二叉搜索樹(shù)轉(zhuǎn)換累加樹(shù)示例
這篇文章主要為大家介紹了C++?LeetCode0538二叉搜索樹(shù)轉(zhuǎn)換累加樹(shù)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-12-12
C++編程中使用設(shè)計(jì)模式中的policy策略模式的實(shí)例講解
這篇文章主要介紹了C++編程中使用設(shè)計(jì)模式中的policy策略模式的實(shí)例講解,文章最后對(duì)策略模式的優(yōu)缺點(diǎn)有一個(gè)簡(jiǎn)單的總結(jié),需要的朋友可以參考下2016-03-03
C++實(shí)現(xiàn)基于EASYX庫(kù)掃描線算法
這篇文章主要為大家詳細(xì)介紹了C++實(shí)現(xiàn)基于EASYX庫(kù)掃描線算法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-02-02
C語(yǔ)言對(duì)于volatile與gcc優(yōu)化的探究
這篇文章主要介紹了C語(yǔ)言對(duì)于volatile與gcc優(yōu)化的探究,volatile是一個(gè)特征修飾符(type specifier) volatile的作用是作為指令關(guān)鍵字,確保本條指令不會(huì)因編譯器的優(yōu)化而省略,且要求每次直接讀值。這是百度百科的介紹,那編譯器是具體是怎么優(yōu)化的呢2023-02-02
實(shí)例講解C++設(shè)計(jì)模式編程中State狀態(tài)模式的運(yùn)用場(chǎng)景
這篇文章主要介紹了實(shí)例講解C++設(shè)計(jì)模式編程中State狀態(tài)模式的運(yùn)用場(chǎng)景,文章最后的適用性部分則介紹了一些State模式善于處理的情況,需要的朋友可以參考下2016-03-03
一起來(lái)學(xué)習(xí)C++的構(gòu)造和析構(gòu)
這篇文章主要為大家詳細(xì)介紹了C++構(gòu)造和析構(gòu),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助2022-03-03
用C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)掃雷小游戲
這篇文章主要為大家詳細(xì)介紹了用C語(yǔ)言簡(jiǎn)單實(shí)現(xiàn)掃雷小游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08

