C++&QT---QT-day3

cpp 复制代码
#include "widget.h"
#include "ui_widget.h"
//需要在.pro文件第一行加 texttospeech

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    ui->lineEdit->setPlaceholderText("时:分:秒");//设定框占位字符
    //ui->textEdit->setText("春眠不觉晓");
    ui->lineEdit->setAlignment(Qt::AlignCenter);//居中显示
    ui->textEdit->setAlignment(Qt::AlignCenter);
    speecher=new QTextToSpeech(this);//给播报员分配空间
}

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

void Widget:: timerEvent(QTimerEvent *e)
{
    if(e->timerId() == tId)
    {
        QTime sys_time = QTime::currentTime(); //获取当前系统时间
        QString s = sys_time.toString("hh:mm:ss");//把系统时间转换成字符串
        ui->lab_time->setText(s);//将系统时间放入标签中
        ui->lab_time->setAlignment(Qt::AlignCenter);//居中显示
        if(s == ui->lineEdit->text())//判断设定时间与系统时间是否匹配
        {
            speecher->say(ui->textEdit->toPlainText());
        }
    }
}

void Widget::on_startBtn_clicked()//定时器启动事件
{
    tId=startTimer(1000);
}

void Widget::on_stopBtn_clicked()//定时器关闭事件
{
    this->killTimer(tId);
}
cpp 复制代码
#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QTimerEvent>
#include <QTime>
#include <QTimer>
#include <QLabel>
#include <QLineEdit>
#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_startBtn_clicked();

    void on_stopBtn_clicked();

private:
    Ui::Widget *ui;
    int tId;
    QTextToSpeech *speecher;
};
#endif // WIDGET_H
相关推荐
-凌凌漆-38 分钟前
【Qt】QStringLiteral 介绍
开发语言·qt
程序员爱钓鱼38 分钟前
Go语言项目工程化 — 常见开发工具与 CI/CD 支持
开发语言·后端·golang·gin
想要入门的程序猿41 分钟前
Qt写入excel
数据库·qt·excel
小刘同学3211 小时前
C++11 特性
c++·c11新特性
军训猫猫头1 小时前
1.如何对多个控件进行高效的绑定 C#例子 WPF例子
开发语言·算法·c#·.net
真的想上岸啊1 小时前
学习C++、QT---18(C++ 记事本项目的stylesheet)
开发语言·c++·学习
m0_552200822 小时前
《UE5_C++多人TPS完整教程》学习笔记40 ——《P41 装备(武器)姿势(Equipped Pose)》
c++·游戏·ue5
明天好,会的2 小时前
跨平台ZeroMQ:在Rust中使用zmq库的完整指南
开发语言·后端·rust
丁劲犇2 小时前
用 Turbo Vision 2 为 Qt 6 控制台应用创建 TUI 字符 MainFrame
开发语言·c++·qt·tui·字符界面·curse