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("启动");
    }

}
相关推荐
代码中介商3 小时前
C++左值与右值:核心判断法则详解
开发语言·c++
JAVA9654 小时前
JAVA面试-并发篇 05-并发包AQS队列实现原理是什么
java·开发语言·面试
Halo_tjn4 小时前
反射与设计模式1
java·开发语言·算法
珊瑚里的鱼5 小时前
手撕单例模式中的饿汉模式和懒汉模式,懒汉模式还要再多加一个C++11版本的
开发语言·c++·单例模式
_不会dp不改名_5 小时前
python-opencv环境搭建
开发语言·python·opencv
HappyAcmen5 小时前
9.复盘API全套流程
开发语言·python
charlie1145141915 小时前
通用GUI编程技术——图形渲染实战(四十五)——D3D12资源与堆管理:从上传到驻留
开发语言·3d·图形渲染·win32
不会C语言的男孩5 小时前
C++ Primer 第12章:动态内存
开发语言·c++
踏着七彩祥云的小丑6 小时前
Go学习第1天:入门
开发语言·学习·golang·go
眠りたいです6 小时前
现代C++:C++17中的新库特性
开发语言·c++·c++20·c++17