Qt定时器及实现(详解)
时间:2022-07-23
本文章向大家介绍Qt定时器及实现(详解),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
QtGuiApplication5.h
#pragma once
#include <QtWidgets/QMainWindow>
#include "ui_QtGuiApplication5.h"
#include <qtimer.h>
#include <QTime>
class QtGuiApplication5 : public QMainWindow
{
Q_OBJECT
public:
QtGuiApplication5(QWidget *parent = Q_NULLPTR);
private:
Ui::QtGuiApplication5Class ui;
QTimer *fTimer; //定时器
QTime fTimeCounter;//计时器
private slots:
void on_timer_timeout(); //定时溢出处理槽函数
void on_btnStart_clicked();
void on_btnStop_clicked();
};
QtGuiApplication5.cpp
#include "QtGuiApplication5.h"
#include <QTime>
QtGuiApplication5::QtGuiApplication5(QWidget *parent)
: QMainWindow(parent)
{
ui.setupUi(this);
fTimer = new QTimer(this);
fTimer->stop();
fTimer->setInterval(1000);//设置定时周期,单位:毫秒
connect(fTimer, SIGNAL(timeout()), this, SLOT(on_timer_timeout()));
}
void QtGuiApplication5::on_timer_timeout()
{
//定时器中断响
QTime curTime = QTime::currentTime(); //获取当前时间
ui.LCDHour->display(curTime.hour()); //显示小时
ui.LCDMin->display(curTime.minute()); //显示分钟
ui.LCDSec->display(curTime.second()); //显示秒
int va = ui.progressBar->value();
va++;
if (va > 100)
va = 0;
ui.progressBar->setValue(va);
}
void QtGuiApplication5::on_btnStart_clicked()
{
fTimer->start();//定时器开始工作
fTimeCounter.start(); //计时器开始工作
ui.btnStart->setEnabled(false);
ui.btnStop->setEnabled(true);
//ui.btnSetIntv->setEnabled(false);
}
void QtGuiApplication5::on_btnStop_clicked()
{
fTimer->stop(); //定时器停止
int tmMsec = fTimeCounter.elapsed();//毫秒数
int ms = tmMsec % 1000;
int sec = tmMsec / 1000;
QString str = QString::asprintf("流逝时间:%d 秒,%d 毫秒", sec, ms);
//ui.LabElapsTime->setText(str);
ui.btnStart->setEnabled(true);
ui.btnStop->setEnabled(false);
//ui.btnSetIntv->setEnabled(true);
}
界面显示:
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 11.QT-ffmpeg+QAudioOutput实现音频播放器
- Spring JPA 自定义删改
- LeetCode-28.实现 strStr()
- 【工具篇】程序员不愿意写 PPT 是姿势不对?
- 机器学习还能预测心血管疾病?没错,我用Python写出来了
- Fasttext 总结
- PathClassLoader加载与查找类
- springboot maven项目引入并打包本地JAR
- 移植lua5.2和luasocket库到嵌入式linux,使能强大的lua脚本和网络功能
- Go或者C中调用Lua业务脚本,实现终端应用的热更新机制
- 多线程基础(八):ReentrantLock的使用及与synchronized的区别
- 在java中notify和notifyAll的区别
- 我在近期求职中遇到的前端面试问题及其解法
- 腾讯云 云开发 部署 Blazor网站
- 最新基准测试:Kafka、Pulsar 和 RabbitMQ 哪个最快?