其实qt有一个类:QTextToSpeech
基于这个类制作了一个听小说的工具:
有一个前提,你需要下载小说,并且转化为utf-8的编码格式
在pro文件中加入 QT += texttospeech

然后看代码:
.h

#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QtTextToSpeech>
#include <QPushButton>
#include <QLineEdit>class Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();private slots:void onChooseClicked();private:QPushButton *m_pChooseBtn=nullptr;QLineEdit *m_pEdit=nullptr;QTextToSpeech *m_pTextSpeech=nullptr;QString m_readString="";
};
#endif // WIDGET_H

.cpp

#include "widget.h"
#include <QHBoxLayout>
#include <QFileDialog>Widget::Widget(QWidget *parent): QWidget(parent)
{m_pChooseBtn=new QPushButton(tr("Choose"),this);m_pEdit=new QLineEdit(this);QHBoxLayout *mainLayout=new QHBoxLayout(this);mainLayout->addWidget(m_pEdit);mainLayout->addWidget(m_pChooseBtn);mainLayout->setMargin(5);mainLayout->setSpacing(0);this->setLayout(mainLayout);m_pTextSpeech=new QTextToSpeech(this);connect(m_pChooseBtn,&QPushButton::clicked,this,&Widget::onChooseClicked);
}Widget::~Widget()
{}void Widget::onChooseClicked()
{QString fileName = QFileDialog::getOpenFileName(this, tr("Open File"),"/home",tr("Txt (*.txt)"));if(fileName!=""){m_pEdit->setText(fileName);m_pTextSpeech->pause();m_pTextSpeech->stop();m_readString.clear();QFile file(fileName);if (!file.open(QIODevice::ReadOnly | QIODevice::Text))return;while (!file.atEnd()) {QString line = file.readLine();if(line!=""){m_readString+=line;}}m_pTextSpeech->say(m_readString);}}

qt制作一个简易的听小说工具相关推荐

  1. 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具

    查看本章节 查看作业目录 需求说明: 使用 history 对象和 location 对象中的属性和方法制作一个简易的网页浏览工具 实现思路: 使用history对象中的 forward() 方法和 ...

  2. 利用Qt制作一个简易聊天软件

    需求分析 即时通讯软件是通过即时通讯技术来实现在线聊天.交流的软件.需要完成基本的通信需求及工作场景需求. 架构分析 截图展示 项目简介 我们编写的即时通信软件叫做SeeU,它是一款基于Qt开发平台, ...

  3. Qt制作一个相册浏览工具

    如何用Qt制作一个相册浏览的小程序? 程序开发思路如下: 1.支持多张相片浏览,可翻页浏览,相片可从本地导入; 2.相片要有放大和缩小的功能; 3.相片可自动浏览,时间间隔可自定义. 主要的代码如下: ...

  4. 制作一个简易的计算器

    这里写自定义目录标题 欢迎使用Markdown编辑器 新的改变 功能快捷键 合理的创建标题,有助于目录的生成 如何改变文本的样式 插入链接与图片 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一 ...

  5. 使用python制作一个简易的远控终端

    使用python制作一个简易的远控终端 远控终端的本质 1.服务端(攻击者)传输消息 ----> socket连接 ----> 客户端(被攻击者)接收消息 2.客户端执行消息内容(即执行服 ...

  6. 使用Java制作一个简易的远控终端

    使用Java制作一个简易的远控终端 远控终端的本质 1.服务端(攻击者)传输消息 ----> socket连接 ----> 客户端(被攻击者)接收消息 2.客户端执行消息内容(即执行服务端 ...

  7. 利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具

    利用 C# 中的 FileSystemWatcher 制作一个文件夹监控小工具 独立观察员 2020 年 12 月 26 日 前一段看到微信公众号 "码农读书" 上发了一篇文章&l ...

  8. 利用CSS浮动制作一个简易导航栏

    初学CSS,利用CSS浮动和无序列表制作一个简易导航栏: <!DOCTYPE html> <html lang="en"> <head>< ...

  9. 用Python制作一个简易的计时器

    前言 今天又带来个小玩意 - 用Python制作一个简易的计时器 这个其实也能自定义一些东西的 就比如名字 颜色啥的 自己看着改就行 有想法的朋友也能自己再写写改改出其他的小功能 效果展示 实现代码 ...

  10. OpenCV(3):用Vs+Qt制作一个查看图片相似度的窗口程序

    OpenCV(2):用Vs+Qt制作一个显示两张图片的窗口程序 在制作了窗口程序后,在网上找了比较两张图片差异度的算法. 哈希值方法:https://blog.csdn.net/fengbingchu ...

最新文章

  1. 设计模式之建造者模式(01)
  2. 6.28 头像预览:form方法和ajax方法
  3. [云炬创业基础笔记]第二章创业者测试6
  4. 【数据结构与算法】之深入解析“TinyURL加密与解密”的求解思路与算法示例
  5. HMAILSERVER集成WEB邮件系统(ROUNDCUBE WEBMAIL)
  6. 从统计代码来谈JS加载的优化
  7. Xiki Shell Kickstarter,HummingBoard计算机等
  8. 流程控制: jQ Deferred 与 ES6 Promise 使用新手向入坑!
  9. LightOJ 1245 - Harmonic Number (II)
  10. 5.4(将英里转化位千米)
  11. linux chmod 使用方法,linux中chmod命令的使用方法
  12. Smart View的客户化开发
  13. 鼎捷鼎新E10ERP软件介绍及资料
  14. Ubuntu14.04 用 CrossOver 安装 TMQQ2013
  15. java 类型通配符_通配符类型
  16. 数字化时代,如何赋能人才
  17. Python零基础学习笔记(三十三)—— 窗体的控制
  18. 关于BIOS加载BOOT.S的经典解答
  19. [高数][高昆轮][高等数学上][第二章-导数与微分]04.隐函数及由参数方程所确定的函数的导数...
  20. python多线程中join()的理解

热门文章

  1. redux-saga中间件的安装和使用-(三)
  2. js基础-17-解析url的函数,字符串出现的次数最多,并统计它出现几次
  3. 黑马vue实战项目-(二)用户列表开发
  4. Eclipse使用Git上传新项目到GitHub
  5. net configuration assistant 没反应_@尾款人:错过这条推送,7000多块就没了……
  6. java linq select_Java 8是否还需要LINQ?还是已经比LINQ 更好?
  7. CMU 15-213 Introduction to Computer Systems学习笔记(12) Linking
  8. 上下定高 中间自适应_B站微服务框架Kratos详细教程(3)中间件
  9. Excel转PDF方法
  10. war包部署到tomcat