24/01/11 qt work

1. 作业:

xx.h 文件#ifndef MYWIDGET_H
#define MYWIDGET_H#include <QWidget>
#include <QDate>
#include <QTime>
#include <QTimerEvent>
#include <QMessageBox>
#include <QDebug>
#include <QTextToSpeech>QT_BEGIN_NAMESPACE
namespace Ui { class MyWidget; }
QT_END_NAMESPACEclass MyWidget : public QWidget
{Q_OBJECTpublic:MyWidget(QWidget *parent = nullptr);~MyWidget();//重写定时器事件void timerEvent(QTimerEvent *event);private slots:void on_pushButton_clicked();private:Ui::MyWidget *ui;int id;int id2;QString time;QString time2;//创建一个语言播报者QTextToSpeech *speecher;
};
#endif // MYWIDGET_H#主程序#include "mywidget.h"
#include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent): QWidget(parent), ui(new Ui::MyWidget)
{ui->setupUi(this);this->setWindowFlag(Qt::FramelessWindowHint);//去掉空白部分this->setAttribute(Qt::WA_TranslucentBackground);//启动定时器id = startTimer(1000);//给语音播报者实例化空间speecher = new QTextToSpeech(this);
}MyWidget::~MyWidget()
{delete ui;killTimer(id);killTimer(id2);
}void MyWidget::timerEvent(QTimerEvent *event)
{//判断定时器类型if(event->timerId() == id){QDate date = QDate::currentDate();//得到当前时间QString str1 = date.toString("yyyy-MM-dd");QTime time =  QTime::currentTime();QString str = time.toString("HH:mm:ss");time2 = str1+" "+str;ui->timeLabel->setText(time2);ui->timeLabel->setAlignment(Qt::AlignCenter);}else if(event->timerId() == id2){//时间一致,进行播报if(time == time2){for(int i=0;i<5;i++){speecher->say(ui->messageLabel->text());_sleep(200);}}}
}//设置闹钟时间
void MyWidget::on_pushButton_clicked()
{QString str = ui->timeEdit->text();if(str == NULL){QMessageBox::information(this,"提示","时间框不能为空");}time = str;qDebug() << time;//启动定时器id2 = startTimer(1000);
}

2. 思维导图

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

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

相关文章

【C++】C++11中的常见语法(上)

C11 一、C11简介二、统一的列表初始化1.&#xff5b;&#xff5d;初始化2. std::initializer_list 三、声明1. auto2. decltype3. nullptr 四、右值引用和移动语义1. 左值引用和右值引用2. 左值引用与右值引用比较3. 右值引用使用场景和意义4. 右值引用引用左值及其一些更深入的…

FineBI实战项目一(16):下订单总用户数分析开发

点击新建组件&#xff0c;创建下订单总用户数组件。 选择自定义图表&#xff0c;选择文本&#xff0c;拖拽要分析的字段到文本中。 修改指针值名称。 将指针值名称修改为用户数。 进入仪表板&#xff0c;拖拽刚刚的组件进入仪表板&#xff0c;然后在再编辑标题。 效果如下&…

可狱可囚的爬虫系列课程 11:Requests中的SSL

一、SSL 证书 SSL 证书是数字证书的一种&#xff0c;类似于驾驶证、护照、营业执照等的电子副本。SSL 证书也称为 SSL 服务器证书&#xff0c;因为它是配置在服务器上。 SSL 证书是由受信任的数字证书颁发机构 CA 在验证服务器身份后颁发的&#xff0c;其具有服务器身份验证和…

【PostgreSql】本地备份为dump文件与恢复数据库(单表和整个数据库)

目录 1.准备脚本1.1 脚本介绍 2.开始备份3.进行恢复3.单张表的备份与恢复3.1 单张表的备份3.2 单张表的恢复 4.常用命令和参数4.1 备份常用参数4.2 备份常用命令4.3 还原常用命令 环境&#xff1a;windows数据库&#xff1a;postgresql 1.准备脚本 backUpDb.bat 脚本为备份脚本…

多态、抽象类和接口(深拷贝和浅拷贝)

目录​​​​​​​ 前言&#xff1a; 多态&#xff1a; 多态的定义&#xff1a; 向上转型&#xff1a; 方法重写&#xff1a; 再看toString方法&#xff1a; 动态绑定&#xff1a; 向下转型&#xff1a; 小练习&#xff1a; 抽象类&#xff1a; 什么是抽象类&am…

if单分支,二分支,多分支,语句嵌套,while语句,for语句(Python实现)

一、主要目的&#xff1a; 1&#xff0e;熟悉程序设计结构的三种方式 2.掌握if单分支语句、if二分支语句、if多分支语句及if语句嵌套的使用方法 3.掌握while语句的使用方法 4.掌握for语句的使用方法 5.掌握循环嵌套的使用方法 二、主要内容和结果展现&#xff1a; 1&…

网工内推 | 高级网工,H3C认证优先,朝九晚六,周末双休

01 万德 招聘岗位&#xff1a;高级网络工程师 职责描述&#xff1a; 1、项目交付&#xff1a;项目管理和交付&#xff0c;包括项目前期的规划、实施以及后期的运维支持、项目验收等。 2、技术支持&#xff1a;为客户及合作伙伴提供网上问题远程和现场支持&#xff1b;对公司内…

【链表】力扣206反转链表

题目 力扣206反转链表 思路图解 代码实现 双指针代码实现 public static ListNode reverseList(ListNode head) {// 初始化pre&#xff0c;curListNode pre null;ListNode cur head;// 当cur为null时&#xff0c;说明反转结束while(cur ! null) {// 临时保存cur.next节点…

【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》

【现代密码学】笔记3.4-3.7--构造安全加密方案、CPA安全、CCA安全 《introduction to modern cryphtography》 写在最前面私钥加密与伪随机性 第二部分流加密与CPA多重加密 CPA安全加密方案CPA安全实验、预言机访问&#xff08;oracle access&#xff09; 操作模式伪随机函数PR…

c++析构函数

析构函数的简述 1. 析构函数和构造函数类似&#xff0c;是c规定当对象的生命周期结束时&#xff0c;默认你会调用析构函数。 2. 同理&#xff0c;当我们不写析构函数的时候&#xff0c;编译器会自动生成一个空实现的析构函数。 3. 析构函数只能编译器自己调用&#xff0c;我们…

抵御爬虫的前线护盾:深度解读验证码技术的演变历程

一.前言 在当今信息技术迅速发展的背景下&#xff0c;网站和在线服务面临着日益增长的自动化访问威胁&#xff0c;这些大多来自于各类爬虫程序。这种大量的自动化访问不仅对网站的正常运行构成压力&#xff0c;还可能导致敏感数据的泄露&#xff0c;甚至被用于不正当竞争和恶意…

【Docker】Linux中Docker技术入门与实战及实用的常规命令

目录 一、引言 1. 说明&#xff1a; 2. Linux介绍 3. Docker简介 二、Docker三要素 1. 镜像&#xff08;Image&#xff09; 2. 容器&#xff08;Container&#xff09; 3. 仓库&#xff08;Repository&#xff09; 三、实现案例 1. 创建 2. 设置镜像 3. 开启设置 …