华清远见嵌入式学习——QT——作业4

作业要求:

代码运行效果图:

代码:

头文件:

#ifndef ALARMCLOCK_H
#define ALARMCLOCK_H#include <QWidget>
#include <QTimerEvent>
#include <QTimer>
#include <QTime>
#include <QTextToSpeech>QT_BEGIN_NAMESPACE
namespace Ui { class AlarmClock; }
QT_END_NAMESPACEclass AlarmClock : public QWidget
{Q_OBJECTpublic:AlarmClock(QWidget *parent = nullptr);~AlarmClock();void timerEvent(QTimerEvent *e);private slots:void on_sbtn_clicked();void on_cbtn_clicked();private:Ui::AlarmClock *ui;int id;QTextToSpeech *speech;
};
#endif // ALARMCLOCK_H

源文件:

#include "alarmclock.h"
#include "ui_alarmclock.h"AlarmClock::AlarmClock(QWidget *parent): QWidget(parent), ui(new Ui::AlarmClock)
{ui->setupUi(this);speech = new QTextToSpeech(this);
}AlarmClock::~AlarmClock()
{delete ui;
}void AlarmClock::timerEvent(QTimerEvent *e)
{//获取系统时间QTime systime = QTime::currentTime();//将系统时间转换QString s = systime.toString("hh:mm:ss");//将转换后的系统时间放入Label中ui->timelab->setText(s);//居中显示ui->timelab->setAlignment(Qt::AlignCenter);//比对闹钟时间和系统时间,如果相等,则播报闹钟if(ui->tedit->text() == s){for(int i=0;i<3;i++){speech->say(ui->speechlab->text());}}
}//启动按钮点击信号对应的槽函数
void AlarmClock::on_sbtn_clicked()
{//打开一个定时器id = startTimer(1000);}//关闭按钮点击信号对应的槽函数
void AlarmClock::on_cbtn_clicked()
{killTimer(id);
}

主函数:

#include "alarmclock.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);AlarmClock w;w.show();return a.exec();
}

思维导图:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/269672.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Docker部署Nacos集群并用nginx反向代理负载均衡

首先找到Nacos官网给的Github仓库&#xff0c;里面有docker compose可以快速启动Nacos集群。 文章目录 一. 脚本概况二. 自定义修改1. example/cluster-hostname.yaml2. example/.env3. env/mysql.env4. env/nacos-hostname.env 三、运行四、nginx反向代理&#xff0c;负载均衡…

收款码在线生成系统源码/开源layui前端框架/附多套前端UI模板/三合一收款码生成系统源码

源码简介&#xff1a; 收款码在线生成系统源码&#xff0c;它是采用开源layui前端框架&#xff0c;并且它附多套前端UI模板&#xff0c;作为三合一收款码生成系统源码&#xff0c;界面简洁大方。 Layui前端的多合一收款码在线生成系统源码&#xff0c;附带了多套精美的前端UI…

EnlightenGAN论文阅读笔记

EnlightenGAN论文阅读笔记 论文是2019年IEEE的EnlightenGAN: Deep Light Enhancement without Paired Supervision.这篇论文是低光增强领域无监督学习的开山之作。 论文链接如下&#xff1a;arxiv.org/pdf/1906.06972.pdf 文章目录 EnlightenGAN论文阅读笔记出发点**出发点1**&…

阻塞队列底层原理分析(一)

文章目录 一、阻塞队列介绍1. Queue接口2. BlockingQueue接口3. 阻塞队列特性 二、 ArrayBlockingQueue1. 简介3. 使用3. 底层原理 三、LinkedBlockingQueue&#xff08;使用最多的阻塞队列&#xff09;1. 简介2. 使用3. 底层原理4. LinkedBlockingQueue与ArrayBlockingQueue对…

原创改进|多策略融合的改进蜣螂优化算法

作者在前段时间的一篇文章中介绍过了蜣螂优化算法(dung beetle optimizer&#xff0c;DBO)的原理及实现&#xff0c;该算法是由东华大学沈波教授团队在2022年提出[1]&#xff0c;其灵感来自蜣螂的滚球、跳舞、觅食、偷窃和繁殖行为这5种习性&#xff0c;其不同的子种群执行了不…

论文阅读三——端到端的帧到凝视估计

论文阅读三——端到端的帧到凝视估计 主要内容研究问题文章的解题思路文章的主要结构 论文实验关于端到端凝视估计的数据集3种基线模型与EFE模型的对比在三个数据集中与SOTA进行比较 问题分析重要架构U-Net 基础知识 主要内容 文章从端到端的方法出发&#xff0c;提出了根据he…

西南交通大学【数据结构实验8】

实验内容及要求&#xff1a; 编写控制台应用程序&#xff0c;提供以下菜单项&#xff1a; 插入元素 从键盘输入若干两两互不相同的非0整数&#xff0c;直到输入0时停止。将输入的所有非0整数按输入次序插入二叉排序树(初始时是空树)。 插入某个非0整数时&#xff0c;若该整…

MySQL笔记-第11章_数据处理之增删改

视频链接&#xff1a;【MySQL数据库入门到大牛&#xff0c;mysql安装到优化&#xff0c;百科全书级&#xff0c;全网天花板】 文章目录 第11章_数据处理之增删改1. 插入数据1.1 实际问题1.2 方式1&#xff1a;VALUES的方式添加1.3 方式2&#xff1a;将查询结果插入到表中 2. 更…

Latex/Overleafc插入eps格式图片不显示、png转eps等解决问题

最近在搞论文&#xff0c;有些程序生成的图片大部分为png格式&#xff0c;但很多期刊要求eps矢量图格式&#xff0c;特此整理下遇到的各种坑&#xff0c;虽然不算什么技术问题&#xff0c;但是确实也浪费了不少时间。。。 1. png转eps在线神器&#xff1a; 【cloudconvert】 …

Python从入门到精通九:Python异常、模块与包

了解异常 什么是异常 当检测到一个错误时&#xff0c;Python解释器就无法继续执行了&#xff0c;反而出现了一些错误的提示&#xff0c;这就是所谓的“异常”, 也就是我们常说的BUG bug单词的诞生 早期计算机采用大量继电器工作&#xff0c;马克二型计算机就是这样的。 19…

Redis生产实战-热key、大key解决方案、数据库与缓存最终一致性解决方案

生产环境中热 key 处理 热 key 问题就是某一瞬间可能某条内容特别火爆&#xff0c;大量的请求去访问这个数据&#xff0c;那么这样的 key 就是热 key&#xff0c;往往这样的 key 也是存储在了一个 redis 节点中&#xff0c;对该节点压力很大 那么对于热 key 的处理就是通过热…

【JVM从入门到实战】(四)类的生命周期

什么是类的生命周期 类的生命周期描述了一个类加载、连接、初始化、使用、卸载的整个过程 一个类完整的生命周期如下&#xff1a; 加载阶段 加载阶段第一步是类加载器根据类的全限定名通过不同的渠道以二进制流的方式获取字节码信息。 程序员可以使用Java代码拓展的不同的渠道…