创建一个项目,提供三个按钮,第一个按钮实现播报第二个按钮的内容,播报结束后,设置自己不可用。第二个按钮的内容是关闭,实现功能是关掉整个项目,第三个按钮功能是将第一个按钮设置为可以状态
main.cpp
#include "task.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
task w;
w.show();
return a.exec();
}
task.cpp
#include "task.h"
#include "ui_task.h"
task::task(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::task)
{
ui->setupUi(this);
this->resize(600,600);
btn1=new QPushButton("可用",this);
btn1->resize(80,40);
btn1->move(130,height()/2);
btn2=new QPushButton("播放",this);
btn2->resize(80,40);
btn2->move(260,height()/2);
btn3=new QPushButton("关闭",this);
btn3->resize(80,40);
btn3->move(390,height()/2);
connect(btn1,&QPushButton::clicked,[&](){
btn2->setEnabled(true);
});
connect(btn2,&QPushButton::clicked,[&](){
speech.say("hello world");
btn2->setEnabled(false);
});
connect(btn3,&QPushButton::clicked,[&](){
this->close();
});
}
task::~task()
{
delete ui;
}
task.h
#ifndef TASK_H
#define TASK_H
#include <QMainWindow>
#include <QPushButton>
#include <QtTextToSpeech/QtTextToSpeech>
QT_BEGIN_NAMESPACE
namespace Ui { class task; }
QT_END_NAMESPACE
class task : public QMainWindow
{
Q_OBJECT
public:
task(QWidget *parent = nullptr);
~task();
//定义按钮指针
QPushButton *btn1;
QPushButton *btn2;
QPushButton *btn3;
//定义一个播报者
QTextToSpeech speech;
private:
Ui::task *ui;
};
#endif // TASK_H