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

Qtday3作业

作业 

 头文件

#ifndef WIDGET_H
#define WIDGET_H#include <QPushButton>
#include <QTextToSpeech>
#include <QWidget>
#include <QDebug>
#include <QTimer>   //定时器类
#include <QTime>    //时间类
#include <QTimerEvent>   //定时器事件类
#include <QDateTime>     //日期时间类
#include <QTextEdit>#include <QString>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_start_btn_clicked();void on_stop_btn_clicked();private:Ui::Widget *ui;int tId;  // 闹钟定时器QTextToSpeech *Text_Speech; // 语音播报者};
#endif // WIDGET_H

源文件 

#include "widget.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);Widget w;w.show();return a.exec();
}
#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget)
{tId = startTimer(1000);   // 启动定时器ui->setupUi(this);//改变窗口标题this->setWindowTitle("闹钟");Text_Speech =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界面ui->time_lab->setText(t);ui->time_lab->setAlignment(Qt::AlignCenter);if (ui->time_lab->text() == ui->clockEdit->toPlainText()){Text_Speech->say(ui->speechEdit->toPlainText());}}}void Widget::on_start_btn_clicked()
{//在按下启动按钮后启动按钮为不可用状态ui->start_btn->setEnabled(false);ui->speechEdit->setEnabled(false);ui->clockEdit->setEnabled(false);}void Widget::on_stop_btn_clicked()
{//在按下停止按钮后启动按钮为可用状态ui->start_btn->setEnabled(true);ui->speechEdit->setEnabled(true);ui->clockEdit->setEnabled(true);}

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

相关文章:

  • 全球程序员需要知道的50+网址,有多少你第一次听说?
  • Matlab中实现对一幅图上的局部区域进行放大
  • mysql-速成补充
  • 微信小程序,商城底部工具栏的实现
  • Lab———Git使用指北
  • ChatGPT的工作原理:从输入到输出
  • redis数据库与主从复制
  • js加载和长任务
  • 利用Stable diffusion Ai 制作艺术二维码超详细参数和教程
  • 【C语言课程设计】图书管理系统
  • 在 ArcGIS Pro 中使用 H3 创建蜂窝六边形
  • 创建Electron项目
  • Spring Boot实践一
  • 简单认识NoSQL的Redis配置与优化
  • 开发一个RISC-V上的操作系统(二)—— 系统引导程序(Bootloader)
  • Git安装与学习
  • 【Docker】docker中容器之间通信方式
  • 算法-归并排序-JAVA
  • Flask 进阶
  • home-assistant整合sso
  • Ip-Limit: 轻量级注解式IP限流组件(二)
  • 【C++】开源:Redis数据库配置与使用
  • TCP/IP网络编程 第二十四章:制作HTTP服务器端
  • React 前端应用中快速实践 OpenTelemetry 云原生可观测性(SigNoz/K8S)
  • Linux 多线程并发Socket服务端的实现( 11 ) -【Linux通信架构系列 】
  • 2.7. Java 泛型了解么?什么是类型擦除?介绍一下常用的通配符?
  • 单例模式与构造器模式
  • SQL力扣练习(七)
  • C语言假期作业 DAY 05
  • php-golang-rpc使用roadrunner-server/goridge/v3/pkg/rpc和php的spiral/goridge3.2实践