QT实现闹钟

.h文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include<QTimer>
#include<QTime>
#include<QDateTime>
#include <QtTextToSpeech/QTextToSpeech>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private slots:
    void on_timeButton_clicked();
    void on_timeout_sloat();

    void on_timeeventButton_clicked();

    void timerEvent(QTimerEvent *event);
private:
    Ui::Widget *ui;

    QTimer *t1;

    int ID;
    QTextToSpeech speech;
};
#endif // WIDGET_H

.cpp文件(main函数不变)

#include "widget.h"
#include "ui_widget.h"

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

    connect(t1,&QTimer::timeout,this,&Widget::on_timeout_sloat);
}

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

void Widget::timerEvent(QTimerEvent *)
{
    QTime currenttime=QTime::currentTime();

    QString time_text=currenttime.toString("hh:mm:ss");

 //   ui->timeEventlabel->setText(time_text);
}
void Widget::on_timeButton_clicked()
{
        t1->start(1000);
        ui->timeButton->setEnabled(false);
        ui->lineEdit->setEnabled(false);

}
void Widget:: on_timeout_sloat()
{
    QDateTime currentTime =QDateTime::currentDateTime();

    QString timetext =currentTime.toString("yyyy:MM:dd hh:mm:ss");

    ui->timerlabel->setText(timetext);

    if(ui->lineEdit->text()==timetext)
    {
        speech.say(ui->textEdit->toPlainText());
    }

}

void Widget::on_timeeventButton_clicked()
{

        //ID=startTimer(1000);
    ui->timeButton->setEnabled(true);
    ui->lineEdit->setEnabled(true);
}

在这里插入图片描述

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值