QT-Day4

思维导图

作业:

头文件

cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QMessageBox>
#include <QTimerEvent>//定时器事件类
#include <QTime>
#include <QDebug>
#include <QPushButton>
#include <QTextToSpeech>

QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
Q_OBJECT

public:
Widget(QWidget *parent = nullptr);
~Widget();
void timerEvent(QTimerEvent *e);

private slots:
void on_pushButton_clicked();

private:
Ui::Widget *ui;
int id1;
int id2;
QTimer *timer1;
QTimer *timer2;
QTextToSpeech *spech;
};
#endif // WIDGET_H

widget.cpp

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

Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->lab_back->setScaledContents(true);
    this->setAttribute(Qt::WA_TranslucentBackground);//去掉空白部分
    spech = new QTextToSpeech(this);


}

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


void Widget::on_pushButton_clicked()
{
    if(ui->lineEdit1->text()=="")
    {
        QMessageBox::information(this,"information","还没输入呢!",QMessageBox::Ok);
    }
    else
    {
        id1 = startTimer(1000);
    }
}

void Widget::timerEvent(QTimerEvent *e)
{
    if(e->timerId()==id1)
    {
        QTime system = QTime::currentTime();
        ui->lab1->setText(system.toString("hh:mm:ss"));
        ui->lab1->setAlignment(Qt::AlignCenter);
        if(ui->lineEdit1->text()==ui->lab1->text())
        {
            id2 = startTimer(1000);
        }
    }

    if(e->timerId()==id2)
    {
        spech->say(ui->lab3->text());
        spech->say(ui->lab3->text());
        spech->say(ui->lab3->text());
        spech->say(ui->lab3->text());
        spech->say(ui->lab3->text());
    }
}
相关推荐
君顾13 小时前
智慧零售实战指南:从技术架构到落地方案全解析
java·开发语言·零售
南棱笑笑生3 小时前
20260904实测给飞凌OK3576-C开发板刷入Rockchip原厂的IMG固件【使用飞凌的DTS】切换串口波特率为1.5Mbps
c语言·开发语言·rockchip
平头哥技术团队4 小时前
Day 10 | 工欲善其事:VS Code 配置与项目归档
android·开发语言·前端·javascript·html·交互
乌萨奇也要立志学C++4 小时前
【洛谷】kmp算法
开发语言·算法
传奇开心果编程4 小时前
【Rust入门知识点学与练】第4课:条件判断 if / else
开发语言·学习·rust
m0_380743874 小时前
给 Claude API 调用补上超时重试和错误分类
开发语言·人工智能·php
Draw Stars4 小时前
Git BASH安装教程
开发语言·git·bash
vortex54 小时前
一文讲透 Zsh 与 Bash 的区别
开发语言·bash
千谦阙听4 小时前
C++类和对象(中):默认成员函数、构造与析构、拷贝构造、运算符重载
开发语言·c++·学习
kaixin_learn_qt_ing7 小时前
Qt Model/View
qt