当前位置:首页 » 《关注互联网》 » 正文

使用C++编写一个语音播报时钟(Qt)

24 人参与  2024年09月13日 17:21  分类 : 《关注互联网》  评论

点击全文阅读


要求:当系统时间达到输入的时间时,语音播报对话框中的内容。定时可以取消。qt界面如上图所示。组件如下:
countdownEdit作为书写目标时间的line_edit
start_btn作为开始和停止的按钮
stop_btn作为取消的按钮
systimelab显示系统时间的lab
textEdit显示播报内容

代码:头文件:

#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include<QTimer>            //定时器类#include<QTime>            //时间类#include<QTimerEvent>       //定时器事件类#include<QDateTime>         //日期时间类#include <QtTextToSpeech>QT_BEGIN_NAMESPACEnamespace Ui { class Widget; }QT_END_NAMESPACEclass Widget : public QWidget{    Q_OBJECTpublic:    Widget(QWidget *parent = nullptr);    ~Widget();private slots:    void on_stop_btn_clicked();    void on_start_btn_clicked();    void sys_time_slot();private:    Ui::Widget *ui;    //定义一个定时器变量    QTimer t1;    int tid = 0;        //定时器id号    //void timerEvent(QTimerEvent *event) override;    //定时器事件处理函数的声明    QTextToSpeech *textToSpeech;};#endif // WIDGET_H

程序文件:
 

#include "widget.h"#include "ui_widget.h"Widget::Widget(QWidget *parent)    : QWidget(parent), ui(new Ui::Widget), textToSpeech(new QTextToSpeech(this)){    ui->setupUi(this);    // 由于定时器事件的信号与槽的绑定只需要一次,所以直接写在构造函数中即可    connect(&t1, &QTimer::timeout, this, &Widget::sys_time_slot);}Widget::~Widget(){    delete ui;}void Widget::on_start_btn_clicked(){    if (ui->start_btn->text() == "启动")    {        t1.start(1000); // 每隔指定的时间,发送一个systime的信号        ui->start_btn->setText("停止");    }    else    {        t1.stop();        ui->start_btn->setText("启动");    }}void Widget::sys_time_slot(){    // 获取系统的时间    QTime sysTime = QTime::currentTime();    // 将QTime类对象转变成字符串    QString tm = sysTime.toString("hh:mm:ss");    // 将时间展示到ui界面上    ui->systimelab->setText(tm);    // 设置标签居中显示    ui->systimelab->setAlignment(Qt::AlignCenter);    // 比较系统时间和用户输入的时间    if (tm == ui->countdownEdit->text())    {        ui->textEdit->append("三更灯火五更鸡,\n正是男儿读书时,\n黑发不知勤学早,\n白首方悔读书迟。");        // 语音播报        textToSpeech->say(ui->textEdit->toPlainText());    }}void Widget::on_stop_btn_clicked(){    ui->start_btn->setText("启动");    ui->countdownEdit->setText("00:00:00"); // 清除显示}


点击全文阅读


本文链接:http://zhangshiyu.com/post/159449.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

最新文章

  • 杜伟的发现祠堂的秘密后,全村无一活口书荒冯若琳杜伟全书在线
  • 川隐逢归客人气列表_川隐逢归客人气(顾临川沈霜音)
  • 攻略失败后,我一心求死章节彩蛋限时释出‌_林兆川顾雪爸爸妈妈全文免费无弹窗阅读_笔趣阁
  • 无端却被春风误免费赏析(孟南汐宋祁钰)_无端却被春风误免费赏析孟南汐宋祁钰
  • 岁岁不渡春风谢列表_岁岁不渡春风谢(季华厉朝圣宗)
  • [妻子出去旅游,在大山里失联了]无弹窗阅读_[赵颖孟志泽云云]节选角色羁绊特辑‌
  • 女儿死后,爸妈为我老公和凶手举办婚礼全书+后续+结局(周明昊)列表_女儿死后,爸妈为我老公和凶手举办婚礼全书+后续+结局(周明昊)女儿死后,爸妈为我老公和凶手举办婚礼全书+后续+结局在线
  • 全文老公为佛女的狗点天灯后,我死遁离开全书在线(江梵音桃星)列表_全文老公为佛女的狗点天灯后,我死遁离开全书在线
  • 当爱恨如潮生乔若梨全(裴叙白乔若梨)全书浏览_当爱恨如潮生乔若梨全全书浏览
  • 宁安不归后续全文免费阅读_[顾云舟宝云沈渊]限时免费***章节速览
  • 重生后,我逆光而行在线赏析(沈墨寒陆瑶光)全书免费_(沈墨寒陆瑶光)重生后,我逆光而行在线赏析后续(沈墨寒陆瑶光)
  • 盛景太匆匆精心打造(宁若曦沈砚舟)全书浏览_盛景太匆匆精心打造全书浏览

    关于我们 | 我要投稿 | 免责申明

    Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1