闹钟

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    ui->edit->setPlaceholderText("定时器");
    this->setWindowIcon(QIcon(":/image/1.png"));


    //设置窗口标题
    this->setWindowTitle("Alarm");

    //给播报员实例化一个空间
    speecher = new QTextToSpeech(this);

    ui->textEdit->setFont(QFont("黑体",20));


}

Widget::~Widget()
{
    delete ui;
}



//启动按钮对应的槽函数
void Widget::on_start_clicked()
{

       timer_id = this->startTimer(1000);

       ui->stop->setEnabled(true);
       ui->start->setEnabled(false);
       ui->textEdit->setEnabled(false);
       ui->edit->setEnabled(false);
}

//定时器事件处理函数的实现
void Widget::timerEvent(QTimerEvent *event)
{

    //获取当前系统时间
    QDateTime dt = QDateTime::currentDateTime();
    if(event->timerId() == timer_id)
    {

        ui->label->setText(dt.toString("yyyy-MM-dd hh:mm:ss"));
        ui->label->setAlignment(Qt::AlignCenter);    //标签文本对齐方式
        ui->label->setFont(QFont("黑体",20));
    }

    if(dt.toString("yyyy-MM-dd hh:mm:ss") == ui->edit->text())
    {
        speecher->say(ui->textEdit->toPlainText());

    }


}

//停止按钮对应的槽函数
void Widget::on_stop_clicked()
{
    //关闭定时器
    this->killTimer(timer_id);

    ui->stop->setEnabled(false);
    ui->start->setEnabled(true);
    ui->textEdit->setEnabled(true);
    ui->edit->setEnabled(true);

}

闹钟_第1张图片

你可能感兴趣的:(命令模式)