做一个定时闹钟界面

本文介绍了如何在Qt中创建一个带有定时器功能的Widget,实现实时时间显示以及基于用户输入的语音提醒。通过`QTimer`和`QTextToSpeech`组件,展示了如何实现基础的事件处理和定时任务。
摘要由CSDN通过智能技术生成
#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    id1 = startTimer(1000);
    speecher = new QTextToSpeech(this);
}

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

//显示时间
void Widget::timerEvent(QTimerEvent *e)
{

    if(e->timerId() == id1)
    {
        QTime sys_time = QTime::currentTime();

        //将系统时间放入ui界面的label中
        ui->showlab->setText(sys_time.toString("hh:mm:ss"));

        ui->showlab->setAlignment(Qt::AlignCenter);
    }
    if(e->timerId() == id2)
    {
        if(ui->lineEdit->text() == ui->showlab->text())
        {
            int i = 0;
            while(i < 6)
            {
                speecher->say(ui->textlab->text());
                i++;
            }

        }
    }
}

//设置闹钟定时按钮
void Widget::on_startBtn_clicked()
{
    if(ui->startBtn->text() == "启动")
    {
        id2 = startTimer(1000);

        ui->startBtn->setText("关闭");
    }
    else
    {
        killTimer(id2);
        ui->startBtn->setText("启动");
    }
}

思维导图

  • 12
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
针对这个需求,可以考虑如下的按钮优化方案: 1. 开启定时闹钟按钮:按钮文字为“开启定时闹钟”,点击按钮后会触发开启定时闹钟的操作,同时按钮文字变为“取消”。 2. 取消按钮:按钮文字为“取消”,点击按钮后会触发取消定时闹钟的操作,同时按钮文字会变为“开启定时闹钟”,并且会停止当前的定时闹钟线程。 具体实现可以使用一个变量来记录当前定时闹钟的状态,例如: ``` var isAlarmOn = false; // 当前定时闹钟的状态,初始为false表示未开启 // 开启定时闹钟按钮点击事件处理 function startAlarmButtonClicked() { if (isAlarmOn) { // 如果当前已经开启定时闹钟,则点击按钮触发取消定时闹钟的操作 stopAlarm(); isAlarmOn = false; updateButtonState(); } else { // 如果当前未开启定时闹钟,则点击按钮触发开启定时闹钟的操作 startAlarm(); isAlarmOn = true; updateButtonState(); } } // 更新按钮状态 function updateButtonState() { var button = document.getElementById("start-alarm-button"); if (isAlarmOn) { button.innerHTML = "取消"; } else { button.innerHTML = "开启定时闹钟"; } } // 取消定时闹钟的操作 function stopAlarm() { // 停止定时闹钟的线程 // ... } // 开启定时闹钟的操作 function startAlarm() { // 开始定时闹钟的线程 // ... } ``` 这样,就可以实现一个简单的闹钟界面按钮优化,可以方便地开启和取消定时闹钟,并且按钮状态会根据当前定时闹钟的状态进行更新。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值