QT——事件处理机制(9.10)

devtools/2025/1/16 4:04:05/

用C++写个闹钟

要求一个标签类显示时间,一个行编辑类输入闹钟时间,两个按钮组件分别控制启动和取消。

1.头文件:

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTimer>        //定时器类
#include <QTime>        //时间类
#include <QTimerEvent>  //定时器事件类
#include <QDateTime>    //日期事件类
#include <QString>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void on_startBtn_clicked();void timeout_slot();void on_cancelBtn_clicked();void compare();private:Ui::Widget *ui;//定义一个定时器变量QTimer tid;QTimer tid2;int num = -1;
};
#endif // WIDGET_H

2.源文件:

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);//启动一个定时器tid.start(1000);connect(&tid,&QTimer::timeout, this, &Widget::timeout_slot);connect(&tid2,&QTimer::timeout, this, &Widget::compare);
}Widget::~Widget()
{delete ui;
}//启动按钮
void Widget::on_startBtn_clicked()
{tid2.start(1000);
}//取消按钮
void Widget::on_cancelBtn_clicked()
{tid2.stop();ui->textEdit->clear();
}void Widget::timeout_slot()
{//获取系统的时间QTime sysTime = QTime::currentTime();//将QTime类对象转换成字符串】QString tm = sysTime.toString("hh:mm:ss");//将时间展示到ui界面上ui->systemLab->setText(tm);//设置标签居中显示ui->systemLab->setAlignment((Qt::AlignCenter));
}//比较时间
void Widget::compare()
{QString alarm = ui->systemLab->text();if(alarm == ui->lineEdit->text()){ui->textEdit->setText("lalalal");}
}

 

3.运行结果:


http://www.ppmy.cn/devtools/111914.html

相关文章

webpack5 创建多页面应用配置

简单版webpack创建多页面应用&#xff0c;只要把配置文件复制下来&#xff0c;然后npm安装相应插件&#xff0c;正常是能跑起来了 创建 初始化 npm init生成package.json文件安装webpack npm i -D webpack webpack-cli webpack-dev-server创建main.js入口文件和webpack.config…

企业客户|基于springboot的企业客户管理系统设计与实现(附项目源码+论文+数据库)

私信或留言即免费送开题报告和任务书&#xff08;可指定任意题目&#xff09; 目录 一、摘要 二、相关技术 三、系统设计 四、数据库设计 五、核心代码 六、论文参考 七、源码获取 一、摘要 本论文主要论述了如何使用JAVA语言开发一个企业客户管理系统&#x…

Leetcode第414周赛第二题:3281. 范围内整数的最大得分

一&#xff1a;题目&#xff1a; 给你一个整数数组 start 和一个整数 d&#xff0c;代表 n 个区间 [start[i], start[i] d]。 你需要选择 n 个整数&#xff0c;其中第 i 个整数必须属于第 i 个区间。所选整数的 得分 定义为所选整数两两之间的 最小 绝对差。 返回所选整数的…

Proteus 仿真设计:开启电子工程创新之门

摘要&#xff1a; 本文详细介绍了 Proteus 仿真软件在电子工程领域的广泛应用。从 Proteus 的功能特点、安装与使用方法入手&#xff0c;深入探讨了其在电路设计、单片机系统仿真、PCB 设计等方面的强大优势。通过具体的案例分析&#xff0c;展示了如何利用 Proteus 进行高效的…

Leetcode Hot 100刷题记录 -Day15(螺旋矩阵)

螺旋矩阵 问题描述&#xff1a; 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]]输出&#xff1a;[1,2,3,6,9,8,7,4,5] 示例 2&#xff1a; 输…

【网络安全】漏洞挖掘之会话管理缺陷

未经许可,不得转载。 文章目录 正文正文 目标:example.com 该站点允许存在主要邮箱和次要邮箱。 在尝试使用次要邮箱和密码登录时,由于账户最初是通过主邮箱创建的,无法登录。于是,我通过次要邮箱使用Google OAuth进行登录。令人意外的是,我成功通过Google OAuth登录了…

故障诊断迁移学习项目DDC(保姆教程)

本项目从零开始搭建深度领域混淆&#xff08;Deep Domain Confusion&#xff0c;DDC&#xff09;算法。项目包括加载CWRU轴承原始信号&#xff0c;信号处理、数据集制作&#xff0c;模型搭建&#xff0c;DDC域混淆算法设计、特征可视化&#xff0c;混淆矩阵等流程来帮助读者学习…

打工人必备,一键完成 PDF 文档内容提取,帮你实现工作效率翻倍!!

MinerU 是一款将 PDF 转化为机器可读格式的工具&#xff08;如 markdown、json&#xff09;&#xff0c;可轻松提取为任何格式。支持 176 种语言的准确识别&#xff0c;进行精准的语言类型鉴定。 它专门设计用于将包含图片、公式、表格、脚注等复杂多模态 PDF 文档转化为清晰、…