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

}
相关推荐
小龙报4 小时前
【51单片机】深度解析 51 串口 UART:原理、配置、收发实现与工程化应用全总结
c语言·开发语言·c++·stm32·单片机·嵌入式硬件·51单片机
qq_532453534 小时前
使用 Three.js 构建沉浸式全景图AR
开发语言·javascript·ar
浅念-4 小时前
C语言——动态内存管理
c语言·开发语言·c++·笔记·学习
草履虫建模10 小时前
力扣算法 1768. 交替合并字符串
java·开发语言·算法·leetcode·职场和发展·idea·基础
naruto_lnq12 小时前
分布式系统安全通信
开发语言·c++·算法
学嵌入式的小杨同学12 小时前
【Linux 封神之路】信号编程全解析:从信号基础到 MP3 播放器实战(含核心 API 与避坑指南)
java·linux·c语言·开发语言·vscode·vim·ux
Re.不晚13 小时前
Java入门17——异常
java·开发语言
精彩极了吧13 小时前
C语言基本语法-自定义类型:结构体&联合体&枚举
c语言·开发语言·枚举·结构体·内存对齐·位段·联合
南极星100514 小时前
蓝桥杯JAVA--启蒙之路(十)class版本 模块
java·开发语言
baidu_2474386114 小时前
Android ViewModel定时任务
android·开发语言·javascript