#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
, timer(new QTimer(this))
, speecher(new QTextToSpeech(this))
{
ui->setupUi(this);
ui->lab1->setAlignment(Qt::AlignHCenter);
ui->lab2->setAlignment(Qt::AlignCenter);
ui->lab4->setAlignment(Qt::AlignCenter);
}
Widget::~Widget()
{
delete ui;
}
//函数重写的实现 定时器超时自动执行该函数
void Widget::timerEvent(QTimerEvent *e)
{
static int num =0;
//获取当前系统时间
QTime sys_time = QTime::currentTime();
//将系统时间转为字符串
QString time = sys_time.toString("hh::mm::ss");
//将系统时间放入到lab中
ui->lab1->setText(time);
if(ui->lab1->text()==ui->lab2->text())
{
while(num!=5)
{
ui->lab4->setText("起床");
speecher->say(ui->lab4->text());
QThread::sleep(1);
num++;
}
}
}
//按钮1对应的槽函数
void Widget::on_But1_clicked()
{
if(ui->But1->text() == "确认")
{
//启动一个定时器
id = startTimer(1000);
//将按钮文本设置关闭
ui->But1->setText("取消");
}
else {
//关闭一个定时器
killTimer(id);
//将按钮文本设置 启动
ui->But1->setText("确认");
}
}
![](https://img-blog.csdnimg.cn/direct/4a7f04edb1c84f059df1b43aa01f8c20.png)