思维导图:
作业:
cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
speecher = new QTextToSpeech(this); //给播报者实例化空间
}
Widget::~Widget()
{
delete ui;
}
//当定时器超时时自动执行
void Widget::timerEvent(QTimerEvent *e)
{
static int num = 0;
if(e->timerId()==id)
{
QTime sys_time = QTime::currentTime();
QString t = sys_time.toString("hh:mm");
ui->Lab1->setText(t);
ui->Lab1->setAlignment(Qt::AlignCenter);
//判断是否到闹钟时间
if(ui->lineEdit->text() == t && num <3)
{
ui->textEdit->setText("警报");
speecher->say(ui->textEdit->toPlainText());
++num;
}
}
}
//启动按钮对应的槽函数处理
void Widget::on_Btn1_clicked()
{
//一钮多用
if(ui->Btn1->text()=="启动")
{
//启动一个定时器
id = startTimer(1000);
ui->Btn1->setText("关闭");
}
else
{
//关闭定时器
killTimer(id);
ui->Btn1->setText("启动");
}
}