#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
startTimer(1000); // 设置一个定时器 --系统时间
speech = new QTextToSpeech(this); // 给语音类对象实例化一个空间
}
Widget::~Widget()
{
delete ui;
}
// 槽函数 --启动按钮clicked信号
void Widget::on_startButton_clicked()
{
tid = startTimer(1000); // 设置一个定时器 --闹钟
}
// 槽函数 --停止按钮clicked信号
void Widget::on_stopButton_clicked()
{
killTimer(tid);
speech->stop();
ui->bellLabel->clear();
}
// 重写时间事件函数
void Widget::timerEvent(QTimerEvent *event)
{
QTime sys_time = QTime::currentTime(); // 获取系统时间
// 判断哪个定时器
if(event->timerId() == tid) // --闹钟
{
// 当系统时间(时:分) == 闹钟时间 --响铃一分钟
if(ui->alarmEdit->toPlainText() == sys_time.toString("hh:mm"))
{
ui->bellLabel->setText("起床啦");
ui->bellLabel->setAlignment(Qt::AlignCenter); // 居中显示
speech->say(ui->bellLabel->text()); // 语音播报起床铃声
}
}
else // --系统时间
{
ui->timeLabel->setText(sys_time.toString("hh:mm:ss")); // 将系统时间转换成字符串并放入系统时间标签中
ui->timeLabel->setAlignment(Qt::AlignCenter); // 居中显示
}
}
10.20Qt作业
于 2023-10-20 19:49:13 首次发布