完成闹钟功能
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
ui->timeLcd->display("00:00");
this->setWindowIcon(QIcon(":/icon/login.png"));
}
Widget::~Widget()
{
delete ui;
}
void Widget::timerEvent(QTimerEvent *e)
{
sysTime = QTime::currentTime();
QString t = sysTime.toString("hh:mm");
if(ok==true){
t[2]=' ';
ok=false;
}else{
t[2]=':';
ok=true;
}
ui->timeLcd->display(t);
if(ui->timeEdt->text()==t){
if(flag==true){
QMessageBox::information(this,
"提示",
"闹钟响,语音播报开始",
QMessageBox::Ok);
flag=false;
}
speecher.say(ui->textEdit->toPlainText());
}
}
void Widget::on_setBtn_clicked()
{
flag=true;
if(ui->timeEdt->text()=="" || ui->textEdit->toPlainText()==""){
QMessageBox::information(this,
"提示",
"请先设定闹钟时间和提示内容",
QMessageBox::Ok);
}else{
sysTime = QTime::currentTime();
QString t = sysTime.toString("hh:mm");
ui->timeLcd->display(t);
timerId = startTimer(1000);
ui->setBtn->setEnabled(false);
ui->textEdit->setEnabled(false);
ui->timeEdt->setEnabled(false);
ui->cancelBtn->setEnabled(true);
}
}
void Widget::on_cancelBtn_clicked()
{
killTimer(timerId);
ui->textEdit->clear();
ui->timeEdt->clear();
ui->timeLcd->display("00:00");
ui->setBtn->setEnabled(true);
ui->textEdit->setEnabled(true);
ui->timeEdt->setEnabled(true);
ui->cancelBtn->setEnabled(false);
}