栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

qt制作一个简易的听小说工具

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

qt制作一个简易的听小说工具

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

然后看代码:
.h

#ifndef WIDGET_H
#define WIDGET_H

#include 
#include 
#include 
#include 

class Widget : public QWidget
{
    Q_OBJECT

public:
    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 
#include 

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);
    }

}


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/657222.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号