当前位置: 首页 > news >正文

QT【day3】

思维导图:
在这里插入图片描述

闹钟:

//widget.h
#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include<QTimerEvent>
#include<QTimer>
#include<QTime>   //时间类
#include<QPushButton> //按钮类头文件
#include<QDebug>  //信息调试类,用于打印输出
#include<QTextBrowser>
#include<QMessageBox>
#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 *e);private slots:void on_activateBtn_clicked();void on_stopBtn_clicked();void my_slot();void on_timeLab_linkActivated(const QString &link);private:Ui::Widget *ui;int tId;QPushButton *activateBtn;QTextToSpeech *speecher;};
#endif // WIDGET_H
//widget.cpp
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);tId = startTimer(1000);//实例化一个语言播报员speecher = new QTextToSpeech(this);
}Widget::~Widget()
{delete ui;
}//定时器处理函数
void Widget::timerEvent(QTimerEvent *e)
{//判断是那个定时器到位if(e->timerId() == tId){//获取系统时间QTime sys_time = QTime::currentTime();//将时间转化为字符串QString t = sys_time.toString("hh-mm-ss");ui->timeLab->setText(t);ui->timeLab->setAlignment(Qt::AlignCenter);}
}//启动按钮对应的槽函数
void Widget::on_activateBtn_clicked()
{while(1){if(ui->timeLab->text() == ui->lineEdit->text()){int i = 0;while(i < 5){speecher->say(ui->txtLab->toPlainText());i++;}break;}}}//停止按钮对应的槽函数
void Widget::on_stopBtn_clicked()
{my_slot();
}//自定义槽函数
void Widget::my_slot()
{int ret = QMessageBox::information(this,"提示","您是否确定停止?",QMessageBox::Yes | QMessageBox::No,QMessageBox::No);if(ret == QMessageBox::Yes){ui->activateBtn->setEnabled(false);ui->txtLab->setEnabled(false);ui->timeLab->setEnabled(false);}else{ui->activateBtn->setEnabled(true);ui->txtLab->setEnabled(true);ui->timeLab->setEnabled(true);}
}

相关文章:

QT【day3】

思维导图&#xff1a; 闹钟&#xff1a; //widget.h #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include<QTimerEvent> #include<QTimer> #include<QTime> //时间类 #include<QPushButton> //按钮类头文件 #include<QDebug&…...

模版模式和策略模式的区别

前言 模版模式和策略模式在日常开发中经常遇到&#xff0c;这两个设计模式有啥区别&#xff0c;这里简单总结下。 模版模式简单demo // 抽象模板类 abstract class AbstractClass {// 模板方法定义了算法的骨架public void templateMethod() {// 执行固定的步骤step1();step…...

Github搭建个人博客全攻略

Github搭建个人博客全攻略 一、Github二、配置博客仓库三、配置Git用户SSH密钥四、Deploy Key or Token方法一&#xff1a; Deploy Key方法二&#xff1a; Token 五、Hexo六、 主题七、 发布博文八、参考链接 一、Github Github是开发者的代码仓库&#xff0c;一个开源和分享社…...

gensim conherence model C_V 值与其他指标负相关BUG

在我用gensim3.8.3 conherence model分析京东评论主题模型时&#xff0c; C_V 与npmi、u_mass出现了强烈的皮尔逊负相关&#xff1a; 这些地方也反映了类似问题&#xff1a; https://github.com/dice-group/Palmetto/issues/12 https://github.com/dice-group/Palmetto/issue…...

QT DAY3

1.思维导图 2.完成闹钟的实现 头文件 #include <QTextToSpeech> #include <QTextEdit> QT_BEGIN_NAMESPACE namespace Ui { class Widget; } QT_END_NAMESPACEclass Widget : public QWidget {Q_OBJECTQLineEdit *edit1new QLineEdit;// QTextEdit *edit2new QTe…...

TortoiseGit(小乌龟)使用问题总结

1.git clone fatal authentication failed for ‘请求路径‘&#xff0c; git clone 用户没有权限 待定 参考&#xff1a; 1.git clone fatal authentication failed for ‘请求路径‘&#xff0c; git clone 用户没有权限_git clone fatal: authentication failed for_椰子…...

106、Redis和Mysql如何保证数据一致

Redis和Mysql如何保证数据一致 先更新Mysql,再更新Redis,如果更新Redis失败,可能仍然不一致先删除Redis缓存数据,再更新Mysql,再次查询的时候在将数据添加到缓存中,这种方案能解决1方案的问题,但是在高并发下性能较低,而且仍然会出现数据不一致的问题,比如线程1删除了…...

SpringBoot+jasypt-spring-boot-starter实现配置文件明文加密

1.使用环境 springboot:2.1.4.RELEASE JDK:8 jasypt-spring-boot-starter:3.0.2 2.引入依赖 !-- 配置文件加密 --> <dependency><groupId>com.github.ulisesbocchio</groupId><artifactId>jasypt-spring-boot-starter</artifactId><ver…...

k8s核心概念

一、集群架构与组件 1&#xff0c;相关组件 【1】 master node三个组件 k8s的控制节点&#xff0c;对集群进行调度管理&#xff0c;接受集群外用户去集群操作请求master node 组成&#xff08;四个组件&#xff09;&#xff1a;控制面 API Server&#xff1a;通信kube-Sche…...

opencv 处理的视频 保存为新视频 ,新视频 无法读取

问题描述&#xff1a; 如题 问题原因&#xff1a; 其实就是保存的帧如果处理成灰度图&#xff08;单通道&#xff09;的话&#xff0c;保存为新视频&#xff0c;则新视频读取不了 解决办法&#xff1a; 处理成三通道&#xff0c;保存的新视频即可被读取 代码&#xff1a; Vi…...

《golang设计模式》第一部分·创建型模式-02-原型模式(Prototype)

文章目录 1. 概念1.1 简述1.2 角色1.3 类图 2. 代码示例2.1 设计2.2 代码2.3 类图 1. 概念 1.1 简述 用原型实例指定创建对象的种类&#xff0c;并且通过拷贝这些原型创建新的对象 1.2 角色 Prototype&#xff08;抽象原型类&#xff09;&#xff1a;它是声明克隆方法的接口…...

SpringCloudAlibaba微服务实战系列(一)Nacos服务注册发现

SpringCloudAlibaba微服务实战系列&#xff08;一&#xff09;Nacos服务注册发现 实战前先做一个背景了解。 单体架构、SOA和微服务 单体架构&#xff1a;近几年技术的飞速发展&#xff0c;各种各样的服务已经进入到网络化。单体架构发布时只需要打成一个war或jar包发布即可&a…...

23.7.27 牛客暑期多校4部分题解

1010 - Kong Ming Qi 1005 - Data Generation 题意、思路待补 code #include <bits/stdc.h> using namespace std; const long long MOD 998244353; int t; long long n, m; long long sub(long long a, long long b) {return a - b < 0 ? a - b MOD : a - b;}…...

Ubuntu 20.04 安装教程

最近貌似很多同学都在下载 ubuntu 虚拟机&#xff0c;但网上很多的安装教程不是很全&#xff0c;所以今天重新更新一下这篇博文&#xff08;更新日期&#xff1a;2022.12.3&#xff09;&#xff0c;希望能帮到大家。除此之外&#xff0c;安装过程确实比较繁琐&#xff0c;可能会…...

如何评判算法好坏?复杂度深度解析

如何评判算法好坏&#xff1f;复杂度深度解析 1. 算法效率1.1 如何衡量一个算法好坏1.2 算法的复杂度 2 时间复杂度2.1 时间复杂度的概念2.1.1 实例 2.2 大O的渐进表示法2.3 常见时间复杂度计算举例 3 空间复杂度4 常见复杂度对比5 结尾 1. 算法效率 1.1 如何衡量一个算法好坏 …...

【HashMap】2352. 相等行列对

2352. 相等行列对 解题思路 使用哈希容器遍历grid数组 将每一行的字符全部转换为StringBuilde对象 然后存入map中遍历每一列 将其转换为字符串 然后查找Map中是否存在 如果存在 统计 class Solution {public int equalPairs(int[][] grid) {// 哈希容器Map<String,Intege…...

如何声明静态方法 和 实现?

如何声明静态方法 和 实现&#xff1f;在 C 中&#xff0c;声明和实现静态方法&#xff08;静态成员函数&#xff09;与普通成员函数有一些区别。静态方法属于类本身&#xff0c;而不是类的对象&#xff0c;因此在声明和实现时需要特殊的语法。 声明静态方法&#xff1a; 在类…...

哈工大计算机网络课程局域网详解之:无线局域网

哈工大计算机网络课程局域网详解之&#xff1a;无线局域网 文章目录 哈工大计算机网络课程局域网详解之&#xff1a;无线局域网IEEE 802.11无线局域网802.11体系结构802.11&#xff1a;信道与AP关联 本节介绍一下平时经常使用的一个无线局域网技术&#xff0c;也就是通常我们使…...

系统集成|第六章(笔记)

目录 第六章、整体管理6.1 项目整体管理概述6.2 主要过程6.2.1 制订项目章程6.2.2 制订项目管理计划6.2.3 指导与管理项目工作6.2.4 监控项目工作6.2.5 实施整体变更控制6.2.6 结束项目或阶段 上篇&#xff1a;第五章、立项管理 第六章、整体管理 6.1 项目整体管理概述 概述&a…...

MySQL主从复制环境部署

文章目录 MySQL主从复制什么是主从复制&#xff1a;为什么需要主从复制&#xff1a;配置文件修改-主&#xff1a;时间同步&#xff1a;重启服务-主&#xff1a;创建同步用户&#xff1a;查看主上的二进制文件名及位置&#xff1a;配置-从&#xff1a;测试:注&#xff1a; MySQL…...

地震勘探——干扰波识别、井中地震时距曲线特点

目录 干扰波识别反射波地震勘探的干扰波 井中地震时距曲线特点 干扰波识别 有效波&#xff1a;可以用来解决所提出的地质任务的波&#xff1b;干扰波&#xff1a;所有妨碍辨认、追踪有效波的其他波。 地震勘探中&#xff0c;有效波和干扰波是相对的。例如&#xff0c;在反射波…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

在HarmonyOS ArkTS ArkUI-X 5.0及以上版本中,手势开发全攻略:

在 HarmonyOS 应用开发中&#xff0c;手势交互是连接用户与设备的核心纽带。ArkTS 框架提供了丰富的手势处理能力&#xff0c;既支持点击、长按、拖拽等基础单一手势的精细控制&#xff0c;也能通过多种绑定策略解决父子组件的手势竞争问题。本文将结合官方开发文档&#xff0c…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容

基于 ​UniApp + WebSocket​实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配​微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

ESP32 I2S音频总线学习笔记(四): INMP441采集音频并实时播放

简介 前面两期文章我们介绍了I2S的读取和写入&#xff0c;一个是通过INMP441麦克风模块采集音频&#xff0c;一个是通过PCM5102A模块播放音频&#xff0c;那如果我们将两者结合起来&#xff0c;将麦克风采集到的音频通过PCM5102A播放&#xff0c;是不是就可以做一个扩音器了呢…...

现代密码学 | 椭圆曲线密码学—附py代码

Elliptic Curve Cryptography 椭圆曲线密码学&#xff08;ECC&#xff09;是一种基于有限域上椭圆曲线数学特性的公钥加密技术。其核心原理涉及椭圆曲线的代数性质、离散对数问题以及有限域上的运算。 椭圆曲线密码学是多种数字签名算法的基础&#xff0c;例如椭圆曲线数字签…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况&#xff0c;可以通过以下几种方式模拟或触发&#xff1a; 1. 增加CPU负载 运行大量计算密集型任务&#xff0c;例如&#xff1a; 使用多线程循环执行复杂计算&#xff08;如数学运算、加密解密等&#xff09;。运行图…...

工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配

AI3D视觉的工业赋能者 迁移科技成立于2017年&#xff0c;作为行业领先的3D工业相机及视觉系统供应商&#xff0c;累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成&#xff0c;通过稳定、易用、高回报的AI3D视觉系统&#xff0c;为汽车、新能源、金属制造等行…...

CRMEB 框架中 PHP 上传扩展开发:涵盖本地上传及阿里云 OSS、腾讯云 COS、七牛云

目前已有本地上传、阿里云OSS上传、腾讯云COS上传、七牛云上传扩展 扩展入口文件 文件目录 crmeb\services\upload\Upload.php namespace crmeb\services\upload;use crmeb\basic\BaseManager; use think\facade\Config;/*** Class Upload* package crmeb\services\upload* …...