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

Qt事件处理机制

用qt实现简单闹钟

widget.h

#ifndef WIDGET_H
#define WIDGET_H
#include<QPushButton>
#include<QTextEdit>
#include<QLabel>
#include <QWidget>
#include<QMouseEvent>
#include<QPoint>
#include<QTime>
#include<QTimer>
#include<QFont>
#include<QLineEdit>
#include<QTextToSpeech>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECT
signals:void voice();
public:Widget(QWidget *parent = nullptr);~Widget();
public slots:void time_slot();void btn1_slot();void btn2_slot();void voice_slot();
private:Ui::Widget *ui;QLabel *lab1;QPushButton *btn1;QPushButton *btn2;QTextEdit *edit1;QLineEdit *ledit;QTimer t1;QFont font;QTextToSpeech *speecher;};
#endif // WIDGET_H

widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include<QDebug>
Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{ui->setupUi(this);lab1=new QLabel(this);ledit=new QLineEdit(this);btn1=new QPushButton(this);btn2=new QPushButton(this);edit1=new QTextEdit(this);btn2->setEnabled(false);speecher= new QTextToSpeech(this);QTime systime=QTime::currentTime();QString tm=systime.toString("hh:mm:ss");this->lab1->setText(tm);t1.start(1000);connect(&t1,&QTimer::timeout,this,&Widget::time_slot);connect(btn1,&QPushButton::clicked,this,&Widget::btn1_slot);connect(btn2,&QPushButton::clicked,this,&Widget::btn2_slot);connect(this,&Widget::voice,this,&Widget::voice_slot);
}Widget::~Widget()
{delete ui;
}
void Widget::time_slot(){lab1->move(80,30);lab1->resize(200,50);font.setPointSize(20);QTime systime=QTime::currentTime();QString tm=systime.toString("hh:mm:ss");this->lab1->setText(tm);lab1->setFont(font);lab1->setAlignment(Qt::AlignCenter);ledit->move(lab1->width()+lab1->x()+30,30);ledit->resize(300,40);ledit->setPlaceholderText("请输入xx时xx分xx秒");btn1->move(ledit->x(),ledit->y()+ledit->height()+10);btn1->setText("开始");btn1->resize(80,40);btn2->move(btn1->width()+btn1->x()+30,btn1->y());btn2->resize(btn1->size());btn2->setText(("结束"));edit1->move(80,btn1->y()+btn1->height()+10);edit1->resize(600,400);QString tms=lab1->text();QString msg=ledit->text();if(tms==msg){emit voice();}
}
void Widget::voice_slot(){QString msg1=edit1->toPlainText();speecher->say(msg1.toUtf8());}
void Widget::btn1_slot(){btn1->setEnabled(false);edit1->setEnabled(false);ledit->setEnabled(false);btn2->setEnabled(true);
}
void Widget::btn2_slot(){btn1->setEnabled(true);edit1->setEnabled(true);ledit->setEnabled(true);btn2->setEnabled(false);}

相关文章:

Qt事件处理机制

用qt实现简单闹钟 widget.h #ifndef WIDGET_H #define WIDGET_H #include<QPushButton> #include<QTextEdit> #include<QLabel> #include <QWidget> #include<QMouseEvent> #include<QPoint> #include<QTime> #include<QTimer&…...

vue axios 如何读取项目下的json文件

在 Vue 项目中&#xff0c;使用 axios 读取本地的 JSON 文件可以通过将 JSON 文件放置在 public 目录中&#xff0c;然后通过 axios 发起请求读取。 步骤&#xff1a; 将 JSON 文件放置在 public 目录下&#xff1a; Vue 项目中的 public 目录是静态资源目录&#xff0c;项目编…...

燃气涡轮发动机性能仿真程序GSP12.0.4.2使用经验(二):使用GSP建立PG9351FA燃气轮机性能仿真模型

目录 一、PG9351FA燃气轮机简介及热力循环参数二、基于GSP的性能仿真模型设置环境参数设置进气道参数设置压气机参数设置燃烧室参数设置透平&#xff08;涡轮&#xff09;参数设置转子负载参数燃油流量外部控制 三、仿真结果四、其它 一、PG9351FA燃气轮机简介及热力循环参数 …...

迟滞比较器/施密特触发器

功能 从下面原理图像看来&#xff0c;只有在达到上下阈值才会出现输出电平的转换&#xff0c;这样防止信号的杂波跳变。而且每次的阈值是随着输出而变化的&#xff0c;当输出高时&#xff0c;阈值如下图中&#xff0c;V_PV_N V_R*( RF/(R1RF) )VH*( R1/(R1RF) );当输出低时&a…...

LeetCode_sql_day22(1112.每位学生的最高成绩)

描述&#xff1a;1112.每位学生的最高成绩 表&#xff1a;Enrollments ------------------------ | Column Name | Type | ------------------------ | student_id | int | | course_id | int | | grade | int | ------------------------ (st…...

OFDM信号PARP的CCDF图

文章目录 引言代码代码疑难解答参考文献 引言 本书主要参考了文献1&#xff0c;但实际上该书中符号和表述的错误非常多&#xff08;只能说棒子是这样的&#xff09;&#xff1b;同时因为发表时间的关系&#xff0c;很多MATLAB代码进行了更新&#xff0c;原书提供的代码已经无法…...

LeetCode之高频SQL50题

查询 1757. 可回收且低脂的产品 584. 寻找用户推荐人 595. 大的国家 1148. 文章浏览 I 1683. 无效的推文 连接 1378. 使用唯一标识码替换员工ID 1068. 产品销售分析 I 1581. 进店却未进行过交易的顾客 197. 上升的温度 1661. 每台机器的进程平均运行时间 577. 员工…...

echarts多组堆叠柱状图

一、效果图 二、代码实现 1、创建容器 <el-card class"box-card"><div slot"header" class"clearfix"><span>课堂学习</span></div><div id"class-learning" style"height: 360px">&l…...

打造安心宠物乐园:EasyCVR平台赋能猫咖/宠物店的智能视频监控解决方案

随着宠物经济的蓬勃发展&#xff0c;宠物店与猫咖等场所对顾客体验、宠物安全及健康管理的需求日益提升。然而&#xff0c;如何确保这些场所的安全与秩序&#xff0c;同时提升顾客体验&#xff0c;成为了经营者们关注的焦点。引入高效、智能的视频监控方案&#xff0c;不仅能够…...

springboot请求传参常用模板

注释很详细&#xff0c;直接上代码 项目结构 源码 HelloController package com.amoorzheyu.controller;import com.amoorzheyu.pojo.User; import org.springframework.format.annotation.DateTimeFormat; import org.springframework.web.bind.annotation.*;import java.ti…...

HTML/CSS/JS学习笔记 Day4(HTML--C3 表格)

跟着该视频学习&#xff0c;记录笔记&#xff1a;【黑马程序员pink老师前端入门教程&#xff0c;零基础必看的h5(html5)css3移动端前端视频教程】https://www.bilibili.com/video/BV14J4114768?p12&vd_source04ee94ad3f2168d7d5252c857a2bf358 Day4 内容梳理&#xff1a;…...

WPF中创建横向的ListView

在WPF中&#xff0c;要创建横向的ListView&#xff0c;您可以通过设置ItemsControl的ItemsPanel来改变其项的排列方向。以下是一个简单的示例&#xff0c;展示了如何将ListView的项横向排列&#xff1a; 在这个例子中&#xff0c;WrapPanel用于横向排列其子元素&#xff0c;而…...

A表和B表公共元素产生链表C

设A和B是两个单链表&#xff08;带头节点&#xff09;&#xff0c;其中元素递增有序。设计一个算法从A到B的公共元素产的C表&#xff08;交集&#xff09;&#xff0c;要求不破坏A&#xff0c;B的节点。 思想&#xff1a;依次比较A&#xff0c;B表中的元素&#xff0c;相同时&…...

Rust运算符

【图书介绍】《Rust编程与项目实战》-CSDN博客 《Rust编程与项目实战》(朱文伟&#xff0c;李建英)【摘要 书评 试读】- 京东图书 (jd.com) https://blog.csdn.net/brucexia/category_12779443.html 前面已经学习了变量和常量&#xff0c;本节开始对它们进行操作&#xff0c…...

Oracle rman 没有0级时1级备份和0级大小一样,可以用来做恢复 resetlogs后也可以

文档说了 full backup 不能 用于后续的level 1&#xff0c;没说level 1没有level 0 是不是level 1就是level 0&#xff1f; 1级备份变0级的原因 及 Enabling Change Tracking生效没有-CSDN博客 这个文档说明1级备份时没有找到0级就是0级备份&#xff0c;可以用来完整恢复的。…...

idea中配置Translation插件完成翻译功能

文章目录 idea下载插件配置有道云阿里云百度翻译开放平台 idea下载插件 idea中安装Translation插件 使用方法&#xff1a;右下角选择翻译引擎&#xff0c;鼠标选中想翻译的部分&#xff0c;右键翻译即可 之前一直用的微软的翻译&#xff0c;不需要配置&#xff0c;但是最近微软…...

如何看待:低代码开发平台的兴起无需经验?

在当今快速发展的技术时代&#xff0c;软件开发的需求日益增长&#xff0c;而专业开发人员的数量却远远跟不上需求的步伐。为了解决这一矛盾&#xff0c;低代码开发平台应运而生&#xff0c;它通过提供可视化的开发环境和拖拽式的编程方式&#xff0c;使得没有编程经验的用户也…...

OpenCV-轮廓检测

文章目录 一、简介1. 意义2.具体步骤 二、代码实现三、总结 一、简介 1. 意义 在OpenCV中&#xff0c;轮廓检测是图像处理中一个非常重要的环节&#xff0c;它允许我们识别图像中的形状。这个过程通常涉及几个步骤&#xff1a;读取图像、转换为灰度图、应用阈值处理&#xff…...

vue页面使用自定义字体

一、准备好字体文件 一般字体问价格式为 .tff&#xff0c;可以去包图网等等网站去下载&#xff0c;好看的太多了&#xff01;&#xff01;&#xff01; 下载下来就是单个的 .tff文件&#xff0c;下载下来后可以进行重命名&#xff0c;但是不要改变他的后缀名&#xff0c;我把他…...

C++——list常见函数的使用和模拟实现(2)

在list的上一篇博客里实现了list基本的初始化、插入数据、删除数据的基本功能&#xff0c;这些功能的实现方式只是在原先链表的实现里加入了模版而已&#xff0c;但是list作为一个容器&#xff0c;它还有一个基础的东西——迭代器。list的迭代器和之前实现的string和vector很大…...

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

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

Xshell远程连接Kali(默认 | 私钥)Note版

前言:xshell远程连接&#xff0c;私钥连接和常规默认连接 任务一 开启ssh服务 service ssh status //查看ssh服务状态 service ssh start //开启ssh服务 update-rc.d ssh enable //开启自启动ssh服务 任务二 修改配置文件 vi /etc/ssh/ssh_config //第一…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

【第二十一章 SDIO接口(SDIO)】

第二十一章 SDIO接口 目录 第二十一章 SDIO接口(SDIO) 1 SDIO 主要功能 2 SDIO 总线拓扑 3 SDIO 功能描述 3.1 SDIO 适配器 3.2 SDIOAHB 接口 4 卡功能描述 4.1 卡识别模式 4.2 卡复位 4.3 操作电压范围确认 4.4 卡识别过程 4.5 写数据块 4.6 读数据块 4.7 数据流…...

鸿蒙中用HarmonyOS SDK应用服务 HarmonyOS5开发一个医院挂号小程序

一、开发准备 ​​环境搭建​​&#xff1a; 安装DevEco Studio 3.0或更高版本配置HarmonyOS SDK申请开发者账号 ​​项目创建​​&#xff1a; File > New > Create Project > Application (选择"Empty Ability") 二、核心功能实现 1. 医院科室展示 /…...

《用户共鸣指数(E)驱动品牌大模型种草:如何抢占大模型搜索结果情感高地》

在注意力分散、内容高度同质化的时代&#xff0c;情感连接已成为品牌破圈的关键通道。我们在服务大量品牌客户的过程中发现&#xff0c;消费者对内容的“有感”程度&#xff0c;正日益成为影响品牌传播效率与转化率的核心变量。在生成式AI驱动的内容生成与推荐环境中&#xff0…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

有限自动机到正规文法转换器v1.0

1 项目简介 这是一个功能强大的有限自动机&#xff08;Finite Automaton, FA&#xff09;到正规文法&#xff08;Regular Grammar&#xff09;转换器&#xff0c;它配备了一个直观且完整的图形用户界面&#xff0c;使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...

MinIO Docker 部署:仅开放一个端口

MinIO Docker 部署:仅开放一个端口 在实际的服务器部署中,出于安全和管理的考虑,我们可能只能开放一个端口。MinIO 是一个高性能的对象存储服务,支持 Docker 部署,但默认情况下它需要两个端口:一个是 API 端口(用于存储和访问数据),另一个是控制台端口(用于管理界面…...