QT修仙笔记 事件大圆满 闹钟大成

学习笔记
牛客刷题

闹钟

QT修仙笔记 事件大圆满 闹钟大成_第1张图片

  1. 时钟显示 通过 QTimer 每秒更新一次 QLCDNumber 显示的当前时间,格式为 hh:mm:ss,实现实时时钟显示。

  2. 闹钟设置

  • 使用 QDateTimeEdit 让用户设置闹钟时间,可通过日历选择日期,设置范围为当前时间到未来 10 天。
  1. 提醒功能
  • 语音播报:当到达设定的闹钟时间,从 QPlainTextEdit 获取文本,利用 QTextToSpeech 进行语音播报。
  • 音效播放:同时,使用 QMediaPlayer 播放指定的提醒音效文件 123.mp3,音量设为 80。
  1. 控制操作
  • 启动闹钟:点击“启动”按钮,开启定时器进行时间检查,此时“启动”按钮禁用,“停止”按钮启用。
  • 停止闹钟:点击“停止”按钮,停止定时器和音效播放,“启动”按钮重新启用,“停止”按钮禁用。
#include "widget.h"
#include "ui_widget.h"
#include
#include
#include
#include

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
   
    ui->setupUi(this);
    //创建时钟
    timerTime=new QTimer(this);
    timerClock=new QTimer(this);
    //绑定时钟函数
    connect(timerTime,&QTimer::timeout,this,&Widget::timeSlot);
    connect(timerClock,&QTimer::timeout,this,&Widget::clockSlot);
    //时钟直接启动
    timerTime->start(1000);
    ui->timeLCD->setDigitCount(8);
    ui->dateTimeEdit->setCalendarPopup(true);
    ui->dateTimeEdit->setMinimumDateTime(QDateTime::currentDateTime());
    ui->dateTimeEdit->setMaximumDate(QDate::currentDate().addDays(10));
    ui->dateTimeEdit->setDisplayFormat("yyyy-MM-dd hh:mm:ss");
     speech=new QTextToSpeech(this);
     startSound=new QMediaPlayer(this);
       startSound->setMedia(QUrl("qrc:/new/prefix1/123.mp3"));
       startSound->setVolume(80);  //音量


}

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


void Widget::on_startBtn_clicked()
{
   

        //计时器启动
        this->timerClock->start(1000);
        ui->startBtn

你可能感兴趣的:(qt,笔记,开发语言)