#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
//实例化一个定时器对象
t1 = new QTimer(this);
//开启一个定时器记录系统时间
tid_1 = this->startTimer(1000);
//实例化一个播报者对象
speech = new QTextToSpeech(this);
//初始化关闭按钮不可用
ui->bnt_close->setEnabled(false);
}
Widget::~Widget()
{
delete ui;
}
//重写定时器处理函数
void Widget::timerEvent(QTimerEvent *e)
{
//获取系统当前时间
QDateTime sys_dt = QDateTime::currentDateTime();
//将系统时间转化为字符串
QString dt = sys_dt.toString("hh:mm:ss");
//将日期显示在ui界面上
ui->labtime->setAlignment(Qt::AlignCenter);
ui->labtime->setText(dt);
//实时判断时间是否相等
if(e->timerId() == tid_2)
{
//将linetime内容转为字符串,判断与系统时间是否相同,相同则播报
QString set_dt = ui->linetime->text();
if(set_dt == dt)
{
speech->say(ui->textEdit->toPlainText());
}
}
}
//按钮触发事件
void Widget::on_bnt_start_clicked()
{
//启动定时器
tid_2 = this->startTimer(1000);
//将按钮1与linetime设为不可用状态
ui->bnt_start->setEnabled(false);
ui->linetime->setEnabled(false);
ui->bnt_close->setEnabled(true);
}
void Widget::on_bnt_close_clicked()
{
// ui->bnt_start->setEnabled(true);
// ui->linetime->setEnabled(true);
this->close();
}