DAY3,Qt(完成闹钟的实现,定时器事件处理函数的使用)
1.完成闹钟的实现,到点播报文本框的内容;
---alarm.h---头文件
#ifndef ALARM_H
#define ALARM_H#include <QWidget>
#include <QTimerEvent> //定时器处理函数类
#include <QTime> //时间类
#include <QPushButton> //按钮类
#include <QLineEdit> //行编辑类
#include <QLabel> //标签类
#include <QTextEdit> //文本编辑类
#include <QDebug> //输出信息类
#include <QTextToSpeech>QT_BEGIN_NAMESPACE
namespace Ui { class Alarm; }
QT_END_NAMESPACEclass Alarm : public QWidget
{Q_OBJECTpublic:Alarm(QWidget *parent = nullptr);~Alarm();QTextToSpeech *speechptr; //语音播报类指针void timerEvent(QTimerEvent *e); //要重写的的定时器事件处理函数的声明private slots:void on_startbtn_clicked();void on_stopbtn_clicked();private:Ui::Alarm *ui;//定义定时器int sysid; //系统时间int editid; //定时时间
};
#endif // ALARM_H
---alarm.cpp---函数实现文件
#include "alarm.h"
#include "ui_alarm.h"Alarm::Alarm(QWidget *parent): QWidget(parent), ui(new Ui::Alarm)
{ui->setupUi(this);//实例化一个播报员speechptr = new QTextToSpeech(this);ui->lineedit->setAlignment(Qt::AlignCenter); //文本居中对齐}Alarm::~Alarm()
{delete ui;
}//启动按钮事件
void Alarm::on_startbtn_clicked()
{if(ui->startbtn->text() == "启动"){//启动报警定时器和系统定时器sysid = startTimer(1000);editid = startTimer(1000);//设置不可使用:自身,行编辑,文本编辑ui->startbtn->setEnabled(false);ui->lineedit->setEnabled(false);ui->textedit->setEnabled(false);//设置可用停止按钮ui->stopbtn->setEnabled(true);}
}//停止按钮事件
void Alarm::on_stopbtn_clicked()
{if(ui->stopbtn->text() == "暂停"){//暂停报警this->killTimer(editid);//设置不可使用:自身ui->stopbtn->setEnabled(false);//设置可用:行编辑,文本编辑,启动按钮ui->startbtn->setEnabled(true);ui->lineedit->setEnabled(true);ui->textedit->setEnabled(true);}
}//定时器事件处理函数
void Alarm::timerEvent(QTimerEvent *e)
{//处理系统时间if(e->timerId() == sysid){QTime systime = QTime::currentTime();QString s_systime = systime.toString("hh : mm : ss"); //将获取的时间转为字符串ui->timelab->setText(s_systime); //时间写入标签ui->timelab->setAlignment(Qt::AlignCenter); //剧中对齐}else if(e->timerId() == editid){QString edittime = ui->lineedit->text(); //自定义时间QTime systime = QTime::currentTime(); //系统时间QString s_systime = systime.toString("hh : mm : ss"); //将获取的时间转为字符串if(s_systime == edittime){//实现语音播报文本框内容QString content = ui->textedit->toPlainText();speechptr->say(content);}}}
---main.cpp---测试文件
#include "alarm.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Alarm w;w.show();return a.exec();
}
点击启动按钮后---

点击暂停按钮后---

2.今日思维导图;

相关文章:
DAY3,Qt(完成闹钟的实现,定时器事件处理函数的使用)
1.完成闹钟的实现,到点播报文本框的内容; ---alarm.h---头文件 #ifndef ALARM_H #define ALARM_H#include <QWidget> #include <QTimerEvent> //定时器处理函数类 #include <QTime> //时间类 #include <QPushButton> //按钮…...
TL-ER3220G设置vlan
TL-ER3220G是企业宽带路由器。 自带5个RJ45接口。 其中接口1到接口4都可以接入宽带线路。最多可以并接4路。 本例由接口1接入宽带,默认接口2到接口4组成1个vlan,名称vlan。其中接口5特殊,带宽最大100M。 计划将接口2和接口4组成第一个vlan&…...
PHPWord 实现合并多个word文件
PHPWord 本来想着当调包侠呢,结果翻了一遍文档,没有这种操作支持,阿这😂 GPT 不出意外的一顿胡扯,给👨🦳气的要中风啦 思路 word 也就是docx结尾的文件本质上就是xml字符串, …...
rust持续学习Box::leak
Box就是unique_ptr 这个函数的功能是消费box返回一个全局变量! 写一个函数,想要真的返回全局变量,感觉用这个是个好的做法 fn Foo()->Option<&static mut A> {let a Box::new(A());Some(Box::leak(a)) }这样就能当真拿到这个全…...
通过SSH实现将本地端口反向代理到公网服务器
使用场景 有一台公网服务器,能够对外开放服务进行访问,但是这个公网服务器资源较低,无法运行太多服务 有一台闲置电脑可以全天候开机使用,且配置较好,可以部署多个服务,但是没有公网IP 需求:将…...
Fragment的基本用法、Fragment和活动间的通信、Fragment的生命周期、动态加载布局的技巧
一、Fragment的简单用法 1、制作Fragment 1.1 新建一个布局文件left_fragment.xml <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:orientation"ve…...
机器学习 day30(正则化参数λ对模型的影响)
λ对Jcv和Jtrain的影响 假设该模型为四阶多项式当λ很大时,在最小化J的过程中,w会很小且接近0,此时模型f(x)近似于一个常数,所以此时模型欠拟合,Jtrain和Jcv都很大当λ很小时,表示模型几乎没有正则化&…...
图文教程:如何在 3DS Max 中创建3D迷你卡通房屋
推荐: NSDT场景编辑器助你快速搭建可二次开发的3D应用场景 在本教程中,我们将学习如何创建一个有趣的、低多边形的迷你动画房子,你可以在自己的插图或视频游戏项目中使用它。您将学习的一些技能将包括创建基本的3D形状和基本的建模技术。让我…...
根据UIL下载图片/视频、根据URL自动下载图片/视频、GUI自动下载想要的图片
目录 1,根据UIL下载图片/视频 2,根据URL自动下载图片/视频 3、GUI自动下载想要的图片 ①点击下载按钮,进行挨个下载 ②右击保存进行下载图片 4、图片或视频URL批量放入浏览器页面上 1,根据UIL下载图片/视频 def downForInter…...
HTML <picture> 标签
实例 如何使用 <picture> 标签: <picture><source media="(min-width:650px)" srcset="/i/photo/flower-4.jpg"><source media="(min-width:465px)" srcset="/i/photo/tulip.jpg"><img src="/i/ph…...
力扣天天练--week3-LeetCode75
topic75-9-t443:压缩字符串 题目描述: 给你一个字符数组 chars ,请使用下述算法压缩: 从一个空字符串 s 开始。对于 chars 中的每组 连续重复字符 : 如果这一组长度为 1 ,则将字符追加到 s 中。 否则,需…...
5.2 方法的定义和调用
5.2 方法的定义和调用 Java的方法类似于其他语言的函数,是一段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法: 一、方法的定义 方法包含一个方法头和一个方法体 修饰符 返回值类型 方法名 (参数类…...
Linux基础以及常用命令
目录 1 Linux简介1.1 不同应用领域的主流操作系统1.2 Linux系统版本1.3 Linux安装1.3.1 安装VMWare1.3.2 安装CentOS镜像1.3.3 网卡设置1.3.4 安装SSH连接工具1.3.5 Linux和Windows目录结构对比 2 Linux常用命令2.0 常用命令(ls,pwd,cd&#…...
echarts 折线图上只显示某一个点值
<template> <div> <!-- 数据来源 --> <div class"echarts" ref"echartsRef"></div> </div> </template> <script setup langts name"reconciled"> import { ref } from "vue"; im…...
1、传统锁回顾(Jvm本地锁,MySQL悲观锁、乐观锁)
目录 1.1 从减库存聊起1.2 环境准备1.3 简单实现减库存1.4 演示超卖现象1.5 jvm锁1.6 三种情况导致Jvm本地锁失效1、多例模式下,Jvm本地锁失效2、Spring的事务导致Jvm本地锁失效3、集群部署导致Jvm本地锁失效 1.7 mysql锁演示1.7.1、一个sql1.7.2、悲观锁1.7.3、乐观…...
【Java||牛客】DFS应用迷宫问题
step by step. 题目: 描述 定义一个二维数组 N*M ,如 5 5 数组下所示: int maze[5][5] { 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, }; 它表示一个迷宫,其中的1表示墙壁,0表示可…...
【vue】Vue中class样式的动态绑定
简介:Vue中class样式的绑定 1、字符串写法 使用场景:样式的类型不确定 写法: <div :class"xd_bg">测试账号</div> 手动触发样式改变 注意:字符串使用的是vue实例data中已有的属性 2、对象写法 使…...
机器学习深度学习——随机梯度下降算法(及其优化)
在我们没有办法得到解析解的时候,我们可以用过梯度下降来进行优化,这种方法几乎可以所有深度学习模型。 关于优化的东西,我自己曾经研究过智能排班算法和优化,所以关于如何找局部最小值,以及如何跳出局部最小值的一些基…...
【MTK平台】【wpa_supplicant】关于wpa_supplicant_8/src/p2p/p2p.c文件的介绍
本文主要介绍external/wpa_supplicant_8/src/p2p/p2p.c文件 先看下p2p_find 这个方法 P2P_find 主要用于 P2P(点对点)网络中查找其他对等方的功能。另外可以看到设置P2P模块的状态为 P2P_SEARCH int p2p_find(struct p2p_data *p2p, unsigned int tim…...
华为数通HCIP-流量过滤与转发路径控制
流量控制 分类:流量过滤、流量转发路径控制; 特点:1、作用于数据层面/转发层面; 2、不会影响路由表,针对转发流量生效; 实现步骤: 1、通过流量匹配工具匹配流量(ACL…...
从怀疑到真香!2026我日常办公离不开的这款在线文字转换器太好用了
刚入职那半年我踩过太多坑:一周三次新人培训,怕漏记知识点全程录音,下课手动整理1小时录音要熬3小时,知识点散得根本没法复习;部门周会做完记录,散会就要我出整理好的纪要,赶工赶得饭都吃不上&a…...
Jetson Orin Nano 升级jetpack5.1.2刷机过程记录
一.刷机起因 orin nano 接了个IMX477的摄像头,用 命令行DISPLAY:0.0 nvgstcapture-1.0 显示的画面有撕裂,让卖家查问题,卖家测试没有撕裂,对比环境,orin nano出厂默认的是jetpack5.1.1,卖家用的jetpack5.1.2版本,为了解决差异,要升级jetpack版本,前后搞了2天半,记录一下. 另外…...
Visual Studio 项目属性页开发完全教程:从基础到高级
Visual Studio 项目属性页开发完全教程:从基础到高级 【免费下载链接】project-system The .NET Project System for Visual Studio 项目地址: https://gitcode.com/gh_mirrors/pr/project-system Visual Studio 项目属性页是开发者管理项目配置的核心界面&a…...
Buzz音频转录完全指南:3大核心功能+5个实战场景,快速掌握本地语音转文字技术
Buzz音频转录完全指南:3大核心功能5个实战场景,快速掌握本地语音转文字技术 【免费下载链接】buzz Buzz transcribes and translates audio offline on your personal computer. Powered by OpenAIs Whisper. 项目地址: https://gitcode.com/GitHub_Tr…...
机器学习赋能6G近场通信:从信道估计到波束赋形的智能革命
1. 项目概述:当6G遇见近场,为何机器学习成为破局关键?如果你关注过5G到6G的技术演进路线,会发现一个核心趋势:天线阵列的规模正在从“大规模”走向“极大规模”。这不仅仅是数量的堆砌,更是通信物理原理的一…...
Godot中型项目工程化实践:目录规范、资源引用与状态管理
1. 这不是续集,而是项目落地的分水岭“Godot 游戏引擎项目(二)”——看到这个标题,很多人第一反应是:“哦,上一篇讲了环境搭建和Hello World,这篇该讲节点树和信号了?”但我在带三个…...
用STM32CubeMX和HAL库快速上手WS2812B:告别手动计算延时,一键生成驱动框架
基于STM32CubeMX的WS2812B智能灯光控制:从零构建现代化驱动方案在智能硬件和物联网设备快速发展的今天,WS2812B可编程LED灯带因其丰富的色彩表现和简单的单线控制方式,成为创客和工程师们最喜爱的显示组件之一。然而,传统的寄存器…...
ARM PMU外部接口与性能监控寄存器详解
1. ARM性能监控寄存器外部接口深度解析性能监控单元(PMU)是现代处理器架构中用于硬件性能分析的核心模块,它通过一组可编程计数器实时捕获处理器微架构层面的各类事件。在ARMv8/v9架构中,PMU不仅可以通过系统寄存器访问,还提供了标准化的外部…...
Claude本地化部署终极方案(企业级容器化全栈手册):支持Anthropic API兼容、流式响应、模型热切换与RBAC权限隔离
更多请点击: https://codechina.net 第一章:Claude本地化部署的架构全景与企业级价值定位 Claude本地化部署并非简单地将模型权重下载后运行,而是一套融合推理引擎优化、安全沙箱隔离、API网关治理与可观测性集成的端到端架构体系。其核心目…...
WebSocket实时通信架构进阶:Room、命名空间与集群部署
WebSocket实时通信架构进阶:Room、命名空间与集群部署 作者:Crown_22 | AI Agent & Hermes Agent 桌面程序开发者 前言 WebSocket已经成为实时应用的标准技术,但大多数教程只停留在"建立连接、发送消息"的基础阶段。在生产环境中,你需要处理Room管理、命名空…...
