Qt 计时器事件timerEvent 和 计时器类QTimer

#pragma once

#include <QWidget>
#include "ui_QTimerEventWidge.h"

class QTimerEventWidge : public QWidget
{
	Q_OBJECT

public:
	QTimerEventWidge(QWidget *parent = Q_NULLPTR);
	~QTimerEventWidge();

	virtual void timerEvent(QTimerEvent* event);

private:
	Ui::QTimerEventWidge ui;
};
#include "QTimerEventWidge.h"
#include <QTimer>

QTimerEventWidge::QTimerEventWidge(QWidget *parent)
	: QWidget(parent)
{
	ui.setupUi(this);
	// 计时器事件timerEvent和计时器类QTimer

	// 开启计时器事件,参数 1000ms 每隔1000ms调用一次timerEvent
	startTimer(1000);
	
	//new 计时器对象
	QTimer* timer = new QTimer(this);
	
	// 计时器信号signal timeout
	connect(timer, &QTimer::timeout, [=](){
		static int num = 0;
		ui.label_2->setText(QString::number(++num));
	});

	// 计时器类必须手动开始
	timer->start(500);

	connect(ui.pushButton, &QPushButton::clicked, [timer]() {
		timer->start(500);
	});

	connect(ui.pushButton_2, &QPushButton::clicked, [timer]() {
		timer->stop();
	});
}

QTimerEventWidge::~QTimerEventWidge()
{
}

void QTimerEventWidge::timerEvent(QTimerEvent * event)
{
	static int timeNumber = 0;
	ui.label->setText(QString::number(++timeNumber));
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值