当前位置: 首页 > news >正文

QT计时器

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTimerEvent> //计时器类
#include <QTime> //时间类
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void timerEvent(QTimerEvent *e);//计时器函数private slots:void on_pushButton_clicked();void on_pushButton_2_clicked();private:Ui::Widget *ui;int tid; int naozhong;QTime time;
};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);tid = startTimer(1000);//启动计时器ui->naozhongEdit->setPlaceholderText("请输入闹钟时间");ui->naozhongEdit->setFont(QFont("Agency FB",20,50,false));}Widget::~Widget()
{delete ui;
}void Widget::timerEvent(QTimerEvent *e)
{if(e->timerId() == tid)//系统时间的计时器事件{time = QTime::currentTime();//获取当前时间QString s = time.toString("hh:mm:ss");//将时间内容转换为qstring类型ui->sys_time_Lab->setText(s);//设置标签中内容ui->sys_time_Lab->setFont(QFont("Agency FB",80,50,false));//设置标签字体ui->sys_time_Lab->setAlignment(Qt::AlignCenter);//设置字体居中}if(e->timerId() == naozhong)//设置闹钟的计时器事件{time = QTime::currentTime();QString s = time.toString("hh:mm:ss");ui->sys_time_Lab->setText(s);if(s == ui->naozhongEdit->text())//如果系统时间与设置时间一致{ui->naozhongLab->setText("起床辣!!!!!");//显示内容ui->naozhongLab->setFont(QFont("Agency FB",60,50,false));//内容字体}}
}void Widget::on_pushButton_clicked()
{naozhong = startTimer(1000);//点击开始设置naozhong计时器
}void Widget::on_pushButton_2_clicked()
{killTimer(naozhong);//点击停止关闭naozhong计时器
}

http://www.lryc.cn/news/199806.html

相关文章:

  • 3-k8s-镜像仓库harbor搭建
  • 0基础学习PyFlink——模拟Hadoop流程
  • 【无人机】太阳能伪卫星VoLTE无人机设计(Matlab代码实现)
  • 2023.10.20 LED驱动
  • 【力扣刷题】回文链表、环形链表、合并两个有序链表
  • linux错误处理函数
  • vue2技能树(5)-条件渲染和列表渲染
  • MySQL基本操作之创建数据库
  • 8.对象贴地
  • AWS Lambda – 函数版本,别名,API网关,CodeDeploy协同
  • flutter doctor检测环境,出现CocoaPods installed but not working
  • Python 条件和 if 语句
  • 行业领先的三个企业正在利用聊天机器人变得更强
  • 「Git|场景案例」从项目中删除之前commit过的文件并且让git不追踪删除操作
  • 一款.NET Core开源的基于Vue+ElementUI开发的博客系统 - StarBlog
  • 用git stash暂存修改
  • 一个适合练手的接口测试实战项目——慕慕生鲜
  • window10/11 光学系统建模之Light Tools8.6 软件安装教程(亲测可用+附带免费资源可直接下载)
  • Vue3+ElementPlus el-date-picker时间选择器,设置最多选择60天区间内,必须选择大于今天
  • 2022年亚太杯APMCM数学建模大赛B题高速列车的优化设计求解全过程文档及程序
  • OSI网络分层模型
  • EOS区块链keosd的RPC API
  • React +AntD + From组件重复提交数据(已解决)
  • spring的简单使用(配合Druid操作数据库)
  • 10.20作业
  • 笔记1 Compute Shaders
  • IntelliJ IDEA 2023版本 Debug 时没有Force Step Into 按钮解决方法
  • 【2024秋招】用友后端BIP部门hr面-2023.8.31
  • [ Windows ] ping IP + Port 测试 ip 和 端口是否通畅
  • Golang协程的概念、用法、场景及案例