2.25 day5 QT

闹钟

.h代码

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTimerEvent>
#include <QTime>
#include <QTextToSpeech>QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void timerEvent(QTimerEvent *event) override;int t1;int t2;private slots:void on_pushButton_clicked();private:Ui::Widget *ui;QTextToSpeech *speech;
};
#endif // WIDGET_H

.cpp代码

#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);t1=startTimer(1000);speech = new QTextToSpeech(this);
}Widget::~Widget()
{delete ui;
}void Widget::timerEvent(QTimerEvent *e)
{if(e->timerId()==t1){QTime sys_time = QTime::currentTime();QString s=sys_time.toString("hh:mm:ss");ui->label->setText(s);}if(e->timerId()==t2){for (int i=0;i<5;i++){ui->label_3->setText("好好学习天天向上");speech->say(ui->label_3->text());}killTimer(t2);}
}void Widget::on_pushButton_clicked()
{QTime sys_time =QTime::currentTime();QTime alarm_time=ui->timeEdit->time();int current_s=sys_time.hour()*3600+sys_time.minute()*60+sys_time.second();int alarm_s=alarm_time.hour()*3600+alarm_time.minute()*60+alarm_time.second();t2=startTimer((alarm_s-current_s)*1000);
}

效果图

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

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

相关文章

SpringCloud-Docker原理解析

Spring Cloud和Docker的结合为微服务架构的部署和管理提供了强大的支持。本文深入剖析Spring Cloud与Docker的集成原理&#xff0c;从服务注册与发现、配置管理、负载均衡到容器化部署等方面展开详细解析。探讨Spring Cloud如何利用Docker容器技术实现服务的弹性伸缩&#xff0…

AD24-PCB尺寸标注、LOGO添加、装配图即多层线路PC输出

一、PCB尺寸标注 1、切换到机械层 2、按shifee进行捕捉切换 按TAB键或空格键进行横向和纵向标注切换 二、LOGO添加 1、放置-图形 2、在空白位置线绘制一个框 3、进行大小调整 三、装配图输出 1、 导出原材料BOM表&#xff0c;不要勾选 顶层 底层 颜色设置 2、输出只有Value值…

JavaAPI常用类01

目录 概述 Object类 Object类_toString() 代码展示 重写toString()方法前后输出 Object类_equals() 代码展示 重写equals()方法前后输出对比 Arrays类 equals()方法 Binary Search&#xff08;二分查找&#xff09; copyOf()方法 sort()方法 了解sort()方法 进阶…

平头哥IP核C906的JTAG调试器DIY教程(一)

背景 最近买了一块基于平头哥C906核&#xff0c;SOC为全志的D1s&#xff0c;的核心板&#xff0c;手工焊接在白嫖的底板上&#xff08;此处感谢百问网老师的友情支持&#xff0c;手动狗头&#xff09;。在焊接完成后&#xff0c;进行点亮跑程序的时候&#xff0c;发现没有优雅…

oracle架构简介

Oracle数据库架构简单来说如下图&#xff1a; 1、客户端链接数据库实例有两种模式&#xff1a;一是独占模式及一个回话一个server process&#xff1b;二是共享及有中间代理层&#xff0c;相当于增加了一层代理分发。 2、以独占模式举例&#xff0c;一个客户端发起一条SQL&…

打造优雅API文档体验

我是洋哥&#xff0c;一个拥有6年经验的程序员&#xff0c;Litchi开源组织发起人 在日常开发中&#xff0c;写接口文档是我们必不可少的&#xff0c;接口是前后端开发联调的桥梁。当然&#xff0c;接口维护是消耗时间成本的&#xff0c;作为后端开发&#xff0c;挑选一款界面友…

掌握项目管理秘籍!常见方法和工具推荐

项目管理的基本流程是由项目启动、项目规划、项目执行、项目监控和项目收尾组成。在这个过程中&#xff0c;我们可以运用到一些经典的项目管理方法&#xff0c;如瀑布法、敏捷方法、Scrum方法、看板方法、精益方法等。也会用到一些项目管理工具如Zoho Projects、Trello、Quickb…

解决:“出现问题,Outlook 无法设置你的账户”

原文&#xff1a;https://blog.iyatt.com/?p14213 1 问题描述 Office 专业版 2024 预览版 在 Outlook 输入邮箱后无法进一步配置登录信息&#xff08;腾讯企业邮箱 Exchange 登录&#xff09; 2 解决方法 通过控制面板里的邮箱设置可以正常添加登录&#xff0c;而且能…

#FPGA(基础知识)

1.IDE:Quartus II 2.设备&#xff1a;Cyclone II EP2C8Q208C8N 3.实验&#xff1a;正点原子-verilog基础知识 4.时序图&#xff1a; 5.步骤 6.代码&#xff1a;

Spring Security源码学习

Spring Security本质是一个过滤器链 过滤器链本质是责任链设计模型 1. HttpSecurity 【第五篇】深入理解HttpSecurity的设计-腾讯云开发者社区-腾讯云 在以前spring security也是采用xml配置的方式&#xff0c;在<http>标签中配置http请求相关的配置&#xff0c;如用户…

如何做到三天内完成智能直流伺服电机系统开发?

适应EtherCAT/CANopen协议三相伺服电机直流伺服电机直线伺服音圈电机 如何开发高性能直流伺服电机驱动控制器&#xff1f; 需要熟悉高性能单片机&#xff08;至少是ARM或DSP水平的&#xff09;&#xff0c;需要掌握空间磁场矢量控制FOC&#xff0c;需要掌握运动轨迹算法……此…

【NTN 卫星通信】基于NTN和TN的Inter-PLMN海事应用场景

1 场景概述 NTN和TN联合组网的场景&#xff0c;可以有多种应用方式&#xff0c;以下用例描述了同时使用多个卫星PLMN和一个地面5G PLMN的海事场景。 MNO-G是一家成熟的卫星PLMN运营商&#xff0c;运营着几颗GEO卫星。MNO-L是一个相对较新的卫星PLMN运营商&#xff0c;操作LEO卫…