4.10作业
//.h文件#ifndef WIDGET_H
#define WIDGET_H#include <QWidget>
#include <QTimerEvent> //定时器事件类
#include <QTime> //时间类
#include <QString>
#include <QPushButton> //按钮类
#include <QLabel> //标签类
#include <QTextToSpeech> //语言播报类QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACEclass Widget : public QWidget
{Q_OBJECTpublic:Widget(QWidget *parent = nullptr);~Widget();void timerEvent(QTimerEvent *e); //函数重写的声明private slots:void on_startBtn_clicked();private:Ui::Widget *ui;//实例化一个定时器idint id;//实例化一个语音播报者QTextToSpeech *speecher;QString s1;};
#endif // WIDGET_H
//.cpp文件#include "widget.h"
#include "ui_widget.h"Widget::Widget(QWidget *parent): QWidget(parent), ui(new Ui::Widget),speecher(new QTextToSpeech(this))
{ui->setupUi(this);//启动一个定时器id = startTimer(1000);}Widget::~Widget()
{delete ui;
}//函数重写的实现
void Widget::timerEvent(QTimerEvent *e)
{//获取当前系统时间QTime sys_time = QTime::currentTime();//将系统时间转换成字符串QString s = sys_time.toString("hh::mm::ss");//将系统时间放入timeLab中ui->timeLab->setText(s);//将时间居中ui->timeLab->setAlignment(Qt::AlignCenter);if(s1 == ui->timeLab->text()){for(int i=0;i<5;i++){speecher->say(ui->TextLab->text());}}}void Widget::on_startBtn_clicked()
{s1 = ui->timeEdit->text();
}
2、思维导图