2023年12月12日作业

头文件

cpp 复制代码
#ifndef WIDGET_H
#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_Btn_clicked();

private:
    Ui::Widget *ui;

    int id,id1;

    QTextToSpeech *speecher;//定义语音播报者
};
#endif // WIDGET_H

源文件

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->clock_timeLab->setAlignment(Qt::AlignCenter);//居中显示
    //启动一个定时器
    id = startTimer(1000);
    speecher = new QTextToSpeech(this);//给语音播报者实例化空间
}

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

void Widget::timerEvent(QTimerEvent *e)
{
    if(e->timerId()==id)
    {
        QTime system_time = QTime::currentTime();//获取系统当前时间
        QString s = system_time.toString("hh:mm:ss");//将系统时间转换
        ui->sys_timeLab->setText(s);//将系统时间放入到label中
        ui->sys_timeLab->setAlignment(Qt::AlignCenter);//居中显示
    }
    else if(e->timerId()==id1)
    {
        if(ui->lineEdit->text()==ui->sys_timeLab->text())//判断条件
        {
            ui->label->setText("吃饱啦");
            ui->label->setAlignment(Qt::AlignCenter);
            for(int i=0;i<5;i++)
            {
                speecher->say(ui->label->text());//语音播报者播报文本内容
            }
              ui->Btn->setText("启动");
        }

    }
}
//按钮点击的槽函数
void Widget::on_Btn_clicked()
{
    id1 = startTimer(1000);//启动一个定时器
    ui->Btn->setText("已启动");//更改文本直观看到是否启动
}

效果图

思维导图

相关推荐
Verdure陌矣4 小时前
游戏开发中 C#、Python 和 C++ 的比较
c++·python·游戏·c#
嘤国大力士4 小时前
C++11&QT复习 (十六)
java·开发语言·c++
ChoSeitaku4 小时前
NO.79十六届蓝桥杯备战|数据结构-扩展域并查集-带权并查集|团伙|食物链|银河英雄传说(C++)
数据结构·c++·蓝桥杯
WG_174 小时前
图论:多源最短路
数据结构·c++·算法
爱coding的橙子6 小时前
蓝桥杯备赛 Day 20 树基础
数据结构·c++·算法·蓝桥杯·深度优先
林麓7 小时前
C++进阶笔记第一篇:程序的内存模型
开发语言·c++·笔记
Hello.Reader8 小时前
深入理解 C++ 内置数组(四十三)
开发语言·c++·算法
chase。8 小时前
ExternalProject_Add 使用手册与文档详解
c++
晨辰丷10 小时前
【STL】list介绍(附与vector的比较)
c语言·开发语言·数据结构·c++·list
今麦郎xdu_11 小时前
【数据结构】二叉搜索树
数据结构·c++·算法·stl