Qt day5

思维导图:

作业:

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

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

    speecher = new QTextToSpeech(this); //给播报者实例化空间
}

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

//当定时器超时时自动执行
void Widget::timerEvent(QTimerEvent *e)
{
    static int num = 0;
    if(e->timerId()==id)
    {
        QTime sys_time = QTime::currentTime();
        QString t = sys_time.toString("hh:mm");

        ui->Lab1->setText(t);
        ui->Lab1->setAlignment(Qt::AlignCenter);

        //判断是否到闹钟时间
        if(ui->lineEdit->text() == t && num <3)
        {
            ui->textEdit->setText("警报");
            speecher->say(ui->textEdit->toPlainText());
            ++num;
        }
    }
}

//启动按钮对应的槽函数处理
void Widget::on_Btn1_clicked()
{
    //一钮多用
    if(ui->Btn1->text()=="启动")
    {
        //启动一个定时器
        id = startTimer(1000);
        ui->Btn1->setText("关闭");
    }
    else
    {
        //关闭定时器
        killTimer(id);
        ui->Btn1->setText("启动");
    }

}
相关推荐
yi个名字24 分钟前
C++继承:从生活实例谈面向对象的精髓
开发语言·c++·链表
蓝心湄27 分钟前
C语言-枚举
c语言·开发语言·算法
黎明smaly40 分钟前
【C语言】复习~动态内存管理
c语言·开发语言·c++·面试
黎明smaly40 分钟前
【C语言】复习~数组和指针
c语言·开发语言·数据结构·c++·leetcode
forestsea1 小时前
Java虚拟机面试题:内存管理(上)
java·开发语言
若汝棋茗1 小时前
C# 异步方法中缺少 `await` 运算符的隐患与解决方案
开发语言·c#·await
江畔柳前堤1 小时前
PyQt学习系列05-图形渲染与OpenGL集成
开发语言·javascript·人工智能·python·学习·ecmascript·pyqt
黎相思2 小时前
特殊类设计
开发语言·c++
君鼎2 小时前
C++——volatile
开发语言·c++
Uncertainty!!2 小时前
C++系统IO
开发语言·c++