QT DAY4

这篇具有很好参考价值的文章主要介绍了QT DAY4。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

做一个闹钟,并播报填写内容

QT DAY4,qt,开发语言,ubuntu,c++

 widget.h 文件

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QTimerEvent>
#include <QDateTime>
#include <QMessageBox>
#include<QTextToSpeech>      //文本转语音类

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

private slots:
    void on_openBtn_clicked();

    void on_closeBtn_clicked();



private:
    Ui::Widget *ui;
    //定义一个定时器的ID
    int event_timer;
    QTextToSpeech *speecher;      //定义一个播报员
};

#endif // WIDGET_H

 widget.cpp文件

#include "widget.h"
#include "ui_widget.h"

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);

    //给usrEdit框输入提示信息
    ui->usrEdit->setPlaceholderText("请输入闹钟定时时间 hh:mm:ss");
    //给readEdit框输入提示信息
    ui->readEdit->setPlaceholderText("请输入要播报的信息");
    //给播报员实例化空间
    speecher = new QTextToSpeech(this);
    //让时间从程序一运行就开始显示
    event_timer=this->startTimer(1000);
    //没有输入设定时间时,关闭按钮设置为不可用
    ui->closeBtn->setEnabled(false);
    ui->openBtn->setStyleSheet("background-color:green");
    ui->closeBtn->setStyleSheet("background-color:violet");
}

Widget::~Widget()
{
    delete ui;
}
//点击启动按钮事件
//点击后,启动按钮、usrEdit和readEdit不可用,关闭按钮改为可用
void Widget::on_openBtn_clicked()
{
    ui->openBtn->setEnabled(false);
    ui->closeBtn->setEnabled(true);
    ui->readEdit->setEnabled(false);
    ui->usrEdit->setEnabled(false);
    ui->closeBtn->setStyleSheet("background-color:green");
    ui->openBtn->setStyleSheet("background-color:violet");
}
//点击关闭按钮事件
void Widget::on_closeBtn_clicked()
{
//    this->killTimer(event_timer);
    ui->openBtn->setEnabled(true);
    ui->closeBtn->setEnabled(false);
    ui->readEdit->setEnabled(true);
    ui->usrEdit->setEnabled(true);
    ui->openBtn->setStyleSheet("background-color:green");
    ui->closeBtn->setStyleSheet("background-color:violet");
}

void Widget::timerEvent(QTimerEvent *e)
{
    if(e->timerId()==event_timer)
    {
        ui->timelab->setAlignment(Qt::AlignHCenter|Qt::AlignVCenter);

        QDateTime sys_dt=QDateTime::currentDateTime();
        ui->timelab->setText(sys_dt.toString("yyyy-MM-dd hh:mm:ss "));
//        p.setFont(QFont("隶书",20,10));
        ui->timelab->setFont(QFont("隶书",18,10));

        if(sys_dt.toString("hh:mm:ss")==ui->usrEdit->text())
        {
            QMessageBox::information(
                        this,
                        "提示",
                        "提醒时间已到");
            //语音播报readEdit框中的文本内容
            speecher->say(ui->readEdit->toPlainText());
        }

    }
}


实现效果

        在没有点击启动按钮时,时间和信息都可以修改,点击关闭按钮无效。

QT DAY4,qt,开发语言,ubuntu,c++

         信息和时间填写完后,点击启动按钮后,启动按钮被锁定,时间框和信息框无法再修改内容,只有关闭按钮可以点击。

QT DAY4,qt,开发语言,ubuntu,c++

         一旦到达设定时间,会弹出提醒框提醒,点击OK后,接着就是播报信息。

QT DAY4,qt,开发语言,ubuntu,c++

 文章来源地址https://www.toymoban.com/news/detail-542724.html

到了这里,关于QT DAY4的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Qt : day4

    1.思维导图  2.服务器  3.时钟  

    2024年02月15日
    浏览(39)
  • QT DAY4作业

    1. 头代码 源代码 效果图 2.思维导图

    2024年02月02日
    浏览(51)
  • QT 作业 day4 7/28

    1.思维导图     2.手动完成服务器实现 .h .cpp

    2024年02月15日
    浏览(51)
  • 嵌入式:QT Day4

    源码: widget.h widget.cpp main.cpp

    2024年02月14日
    浏览(40)
  • QT day4 (time/tcp/draw)

     1、头文件 2、main函数 3、功能函数 1、服务器 (头文件)  TCP功能函数 客户端 (头文件) 功能函数 效果图 头文件 功能函数 效果图

    2024年02月09日
    浏览(37)
  • DAY4,Qt(事件处理机制的使用,Qt中实现服务器的原理)

    ---chatser.h---头文件 ---chatser.cpp---函数实现文件 ---main.cpp---测试文件 结果展示---     

    2024年02月15日
    浏览(55)
  • QT--day4(定时器事件、鼠标事件、键盘事件、绘制事件、实现画板、QT实现TCP服务器)

     QT实现tcpf服务器代码:(源文件) 头文件:

    2024年02月15日
    浏览(50)
  • Qt扩展-Log4Qt 简介及配置

    日志是程序调试和溯源问题的一个必不可少的好手段,我们可以用系统的log像 QDebug库,但是为了更快的开发,我们可以用更好的工具,比如说,Log4Qt是基于Qt写的一个日志库。也是使用Qt框架的Apache Software Foundation Log4j包的c++移植版。它的目的是供开源和商业Qt项目使用。好像

    2024年02月07日
    浏览(40)
  • Log4Qt日志框架(1)- 引入到QT中

    Log4Qt日志框架(2)-深入分析和使用 github:https://github.com/MEONMedical/Log4Qt 官方(版本较老):https://sourceforge.net/projects/log4qt/ CSDN(0积分):https://download.csdn.net/download/qq_40666149/88233421 Log4Qt 是一个基于 Qt 的日志库,它是 Apache log4j 的一个移植版本。Log4Qt 旨在为 Qt 应用程序提供一个

    2024年02月11日
    浏览(39)
  • log4qt库的使用

    Log4Qt是一个用于Qt应用程序的开源日志记录库。它是基于Apache Log4j的C++实现,并提供了一种灵活和可配置的方式来记录应用程序的日志信息。 Log4Qt允许你在应用程序中定义日志记录器、日志级别和日志输出目标,并根据需要进行动态配置。它支持多个日志记录器以及不同的日

    2024年02月08日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包