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

华清远见作业第四十二天——Qt(第四天)

思维导图:

编程:

代码:

widget.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#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_pushButton_clicked();private:Ui::Widget *ui;int id;//超时1int id2;//超时2QString t;//实例化一个语音播放类QTextToSpeech *speecher;QString s;
};
#endif // WIDGET_H

 widget.cpp

#include "widget.h"
#include "ui_widget.h"
#include<QTime>
#include<QDebug>Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{speecher=new QTextToSpeech(this);   //语音ui->setupUi(this);id=startTimer(1000);//超时器1}Widget::~Widget()
{delete ui;
}
//当定时器超时时,自动执行的函数
void Widget::timerEvent(QTimerEvent *e)
{//判断那个定时器超时if(e->timerId()==id){
//        static int num=0;
//        ui->lab1->setNum(++num);//获取系统时间QTime sys_time =QTime::currentTime();//将系统时间转换为字符串类型t=sys_time.toString("hh:mm:ss");//将内容显示到ui界面上ui->label->setText(t);//居中ui->label->setAlignment(Qt::AlignCenter);}else if(e->timerId()==id2){if(s==t&& ui->pushButton ->text()=="关闭")for (int i=0;i<5;i++) {qDebug() << "成功";speecher->say(ui->label_3->text());//读取内容}}
}void Widget::on_pushButton_clicked()
{if(ui->pushButton ->text() == "启动"){//将按钮上的文本设置成“关闭”s=ui->lineEdit->text();id2=startTimer(1000);//超时2ui->pushButton ->setText("关闭");}else{//将按钮上的文本设置成“启动”ui->pushButton ->setText("启动");}}

运行效果:

 

http://www.lryc.cn/news/304771.html

相关文章:

  • vue2和vue3区别 浅析
  • GIT使用和简介
  • HTTPS(超文本传输安全协议)被恶意请求该如何处理。
  • QT-模拟电梯上下楼
  • 基于springboot+vue的桂林旅游景点导游平台(前后端分离)
  • 设计模式四:适配器模式
  • 【AI应用】SoraWebui——在线文生视频工具
  • 电路设计(27)——交通信号灯的multisim仿真
  • Python Sanic 异步 Web 框架
  • 滚雪球学Java(70):深入理解Java中的PriorityQueue底层实现与源码分析
  • 李宏毅2023机器学习作业1--homework1
  • Mysql的SQL调优-面试
  • Unity 2021.3发布WebGL设置以及nginx的配置
  • 【鸿蒙 HarmonyOS 4.0】数据持久化
  • mysql mgr集群多主部署
  • 【开源】JAVA+Vue.js实现医院门诊预约挂号系统
  • 《图解设计模式》笔记(一)适应设计模式
  • 图文说明Linux云服务器如何更改实例镜像
  • RabbitMQ学习整理————基于RabbitMQ实现RPC
  • Linux-基础知识(黑马学习笔记)
  • SpringBoot项目启动报java.nio.charset.MalformedInputException Input length = 1解决方案
  • 【Unity2019.4.35f1】配置JDK、NDK、SDK、Gradle
  • MySQL中的高级查询
  • leetcode383赎金信
  • 【Unity3D】ASE制作天空盒
  • MyBatisPlus常用注解
  • Putty中运行matlab文件
  • ES6 | (一)ES6 新特性(上) | 尚硅谷Web前端ES6教程
  • 生产环境下,应用模式部署flink任务,通过hdfs提交
  • 【lesson59】线程池问题解答和读者写者问题