ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

作业--day45

2026/9/15 5:10:12 拓冰建站 浏览量
作业--day45

定时播放

#include "mywidget.h"
#include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent) :QWidget(parent),ui(new Ui::MyWidget)
{ui->setupUi(this);ui->bg_lab->setPixmap(QPixmap(":/pictrue/shanChuan.jpg"));ui->bg_lab->setScaledContents(true);this->setAttribute(Qt::WA_TranslucentBackground);this->setWindowFlag(Qt::FramelessWindowHint);//系统时间定时器sys_time_id = startTimer(1000);speecher = new QTextToSpeech(this);}MyWidget::~MyWidget()
{delete ui;
}void MyWidget::timerEvent(QTimerEvent *e)
{if(e->timerId() == sys_time_id){QTime sys_time = QTime::currentTime();ui->sys_time_lab->setText(sys_time.toString("hh:mm:ss"));}else if(e->timerId() == clock_time_id){for(int i=0; i<2; i++){speecher->say(ui->msg_lab->text());}killTimer(clock_time_id);}
}void MyWidget::on_exit_btn_clicked()
{this->close();
}void MyWidget::on_start_btn_clicked()
{//播放语音定时器,msecsTo成员函数是用于计算时间差,单位为毫秒,fromString常用函数是用于根据字符串实例化一个QTime对象clock_time_id = startTimer(QTime::currentTime().msecsTo(QTime::fromString(ui->inp_time->text(), "hh:mm:ss")));
}

在这里插入图片描述

思维导图

在这里插入图片描述