作业
#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);
//每一秒发出一次timeout信号
timer->start(1000);
//将timeout与自定义的槽函数连接
connect(timer, &QTimer::timeout, this, &Widget::timeout_slot);
}
Widget::~Widget()
{
delete ui;
}
//当前时间
void Widget::timeout_slot()
{
QTime t = QTime::currentTime();
QString t1 = t.toString("hh:mm:ss");
ui->lab1->setText("显示当前系统时间:"+t1);
}
//响铃
void Widget::timerEvent(QTimerEvent *e)
{
//获取当前时间并转换为字符串类型
QTime t = QTime::currentTime();
QString t1 = t.toString("hh:mm:ss");
//到设置的时间时,发出声音
if(s == t1)
{
//响3次后停止
for(int i=0; i<3; i++)
{
speecher->say(ui->lab3->text());
}
}
}
//设置时间
void Widget::on_btn_clicked()
{
if(ui->btn->text() == "启动")
{
//每一秒发出一次timerevent信号
id = startTimer(1000);
s = ui->lineEdit->text();
ui->btn->setText("取消");
}else if(ui->btn->text() == "取消")
{
killTimer(id);
s = "";
ui->btn->setText("启动");
}
}