qt+day4

cpp 复制代码
#define WIDGET_H

#include <QWidget>
#include <QTimerEvent>
#include <QTimer>
#include <QTime>
#include <QTextToSpeech>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();
    void timerEvent(QTimerEvent *e);

private slots:
    void on_sbtn_clicked();

    void on_cbtn_clicked();

private:
    Ui::Widget *ui;
    int id;

    QTextToSpeech *speech;

};
#endif // WIDGET_H
cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

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


    speech = new QTextToSpeech(this);

}

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

void Widget::timerEvent(QTimerEvent *e)
{
    //获取系统时间
        QTime systime = QTime::currentTime();

        //将系统时间转换
        QString s = systime.toString("hh:mm:ss");

        //将转换后的系统时间放入Label中
        ui->timelabel->setText(s);

        //居中显示
        ui->timelabel->setAlignment(Qt::AlignCenter);

        //比对闹钟时间和系统时间,如果相等,则播报闹钟
        if(ui->tdeit->text() == s)
        {
            for(int i=0;i<3;i++)
            {
                speech->say(ui->speechlabel->text());
            }
        }
}





void Widget::on_sbtn_clicked()
{
    id = startTimer(1000);

}

void Widget::on_cbtn_clicked()
{
    killTimer(id);

}
相关推荐
喵个咪1 小时前
Qt 优雅实现线程安全单例模式(模板化 + 自动清理)
c++·后端·qt
离离茶5 小时前
【笔记1-8】Qt bug记录:QListWidget窗口的浏览模式切换为ListMode后,滚轮滚动速度变慢
笔记·qt·bug
共享家952710 小时前
QT-系统(文件)
开发语言·qt·命令模式
IT从业者张某某10 小时前
Qt-for-鸿蒙PC-TextEditorPro 多功能文本编辑器开源鸿蒙开发实践
qt·开源·harmonyos
IT从业者张某某11 小时前
Qt-for-鸿蒙PC-验证码组件开发实战
开发语言·qt·harmonyos
全栈陈序员13 小时前
Qt for HarmonyOS/weather 天气应用项目
开发语言·qt·华为·harmonyos
风闲12171 天前
Qt源码编译记录
开发语言·qt
864记忆1 天前
Qt c++的基础语法有哪些?
开发语言·c++·qt
江公望1 天前
Qt QHostInfo::lookupHost()函数,10分钟讲清楚
开发语言·qt·qml
胡斌附体1 天前
qt showevent引发的问题
qt·qt creator·问题排查·思路·报警·showevent·重复打印