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);

}
相关推荐
沫璃染墨5 小时前
《Qt从零入门系列(十二):Qt文件操作详解——从QFile读写到QFileInfo与记事本实战》
开发语言·网络·c++·qt·交互·信号处理·文件
时间的拾荒人6 小时前
Qt 界面布局与容器控件详解:从分组框到布局管理器
开发语言·qt·面试
王铭诗7 小时前
QT界面安装
qt
程序员老陆8 小时前
嵌入式 Qt:QWidgets 还是 QML / Qt Quick?
开发语言·qt
待什么青丝9 小时前
【外设】之大彩串口显示屏
单片机·qt·显示器
Frank_refuel9 小时前
深入理解RpcRouter(远端调用模块)
开发语言·qt
Quz1 天前
QML 分隔线:Rectangle、菜单与工具栏分隔线用法
qt
Quz1 天前
QML PathView 入门:直线路径与曲线路径
qt
实心儿儿1 天前
Qt — 音视频文件
qt·音视频
Cx330❀1 天前
【Qt 进阶指南】详解 Qt 常用标准对话框与主窗口组件架构
开发语言·qt·ui·性能优化·架构·图形渲染