- 在.pro中添加
###朗读模块 QT += texttospeech
- #include <QMainWindow>
//包含头文件 #include <QtTextToSpeech/QTextToSpeech> //添加用到的头文件 #include <QTimer> #include <QDateTime> tts = new QTextToSpeech(this); tts->setLocale(QLocale::Chinese);//设置语言环境 tts->setRate(0.0);//设置语速-1.0到1.0 tts->setPitch(1.0);//设置音高-1.0到1.0 tts->setVolume(1.0);//设置音量0.0-1.0 if(tts->state()==QTextToSpeech::Ready) { for(int i=0;i<10;i++) { if(i==5) { tts->stop();//停止语音 } else { tts->say("QT欢迎你");//开始合成文本 } } } timer = new QTimer(this); //绑定信号和槽并打开定时器 connect(timer,SIGNAL(timeout()),this,SLOT(timeup())); timer->start(1000);
- //在Qt中QTextToSpeech类提供了文本转语音引擎,使用say()函数合成文本,
//使用setLocale()指定语言环境,使用setRate()函数设置语速, //使用setPitch()函数设置音高,使用setVolume()函数设置音量。 void TextToSpeech::on_Btn_start_clicked() { if (ui->textEdit->document()->isEmpty()) { QMessageBox::warning(this,tr("提示!!!"),tr("未输入内容!请先输入内容"),QMessageBox::Ok); return; }else { if(tts->state() == QTextToSpeech::Ready){ // tts->say("你好,我是Qt"); tts->say(ui->textEdit->toPlainText()); } ui->textEdit->clear(); }
} //定义显示时间文本的槽函数 void TextToSpeech::timeup(void) { QDateTime time = QDateTime::currentDateTime(); QString str = time.toString("yyyy年MM月dd号 hh:mm:ss -- dddd"); ui->label_time->setText(str); }
|