qt简易闹钟

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

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

    ui->stopBtn->setDisabled(true);

    this->setFixedSize(this->size());   //设置固定大小
    this->setWindowTitle("简易闹钟");

    //实例化一个播报员
    speecher = new QTextToSpeech(this);


}

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

void Widget::on_startBtn_clicked()
{
    ui->startBtn->setDisabled(true);
    ui->alarmEdit->setReadOnly(true);
    ui->textEdit->setReadOnly(true);
    ui->stopBtn->setEnabled(true);
    tId = startTimer(100);     //定义一个计时器
}

void Widget::timerEvent(QTimerEvent *e)
{

    //判断是哪个计时器就位
    if (e->timerId() == tId)
    {
        QTime sys_time = QTime::currentTime();  //获取系统时间

        //将系统时间转换为字符串
        QString t = sys_time.toString();

        //将字符串展示到label
        ui->timeLb->setText(t);

        alarmTime = ui->alarmEdit->text();  //获取闹钟时间

        //如果到了时间就开始播报
        if (t == alarmTime)
        {
            for (int i = 0; i < 10; i++)
            {

                speecher->say(ui->textEdit->toPlainText());
            }
        }



    }
}

void Widget::on_stopBtn_clicked()
{
    ui->startBtn->setDisabled(false);
    ui->alarmEdit->setReadOnly(false);
    ui->textEdit->setReadOnly(false);
    speecher->stop();
    killTimer(tId);
}
相关推荐
桦021 小时前
【C++复习】:继承
开发语言·c++
何仙鸟21 小时前
GarmageSet下载和处理
java·开发语言
wefly201721 小时前
免安装!m3u8live.cn在线 M3U8 播放器,小白也能快速上手
java·开发语言·python·json·php·m3u8·m3u8在线转换
薛先生_0991 天前
js学习语法第一天
开发语言·javascript·学习
报错小能手1 天前
深入理解 Linux 虚拟内存管理
开发语言·操作系统
和沐阳学逆向1 天前
我现在怎么用 CC Switch 管中转站,顺手拿 Codex 举个例子
开发语言·javascript·ecmascript
小仙女的小稀罕1 天前
听不清重要会议录音急疯?这款常见AI工具听脑AI精准转译
开发语言·人工智能·python
书到用时方恨少!1 天前
Python random 模块使用指南:从入门到精通
开发语言·python
客卿1231 天前
牛客刷题--找数字-- 字符串检测-字符串 双指针
java·开发语言
Amour恋空1 天前
Java多线程
java·开发语言·python