Qt / day04

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

1. 思维导图

Qt / day04,qt,命令模式,开发语言

2. 编写程序实现闹钟如下

Qt / day04,qt,命令模式,开发语言

文件

Qt / day04,qt,命令模式,开发语言

代码

clock.h

#include "clock.h"
#include "ui_clock.h"

Clock::Clock(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Clock)
    , ptrTimerShow(new QTimer(this))
    , ptrTimerAlarm(new QTimer(this))
    , ptrSpeecher(new QTextToSpeech)
{
    ui->setupUi(this);
    connect(ptrTimerShow, &QTimer::timeout, this, &Clock::timeShowSlot);
    connect(ptrTimerAlarm, &QTimer::timeout, this, &Clock::timeAlarmSlot);

    ptrTimerShow->start(1000);
}

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


void Clock::on_btnStart_clicked()
{
    QString txtTime = ui->lineEditTime->text();
    if (! txtTime.isEmpty())
    {
        ui->lblInput->setText(txtTime);

        QTime alarmTime = QTime::fromString(txtTime);
        int msec = alarmTime.msecsSinceStartOfDay() - QTime::currentTime().msecsSinceStartOfDay();
        qDebug("msec = %d", msec);
        ptrTimerAlarm->start(msec);

    }

}

void Clock::timeShowSlot()
{
    QTime sysTime = QTime::currentTime();
    QString strSysTime = sysTime.toString("hh:mm:ss");
    ui->lblSysTime->setText(strSysTime);
    ui->lblSysTime->setAlignment(Qt::AlignCenter);
}

void Clock::timeAlarmSlot()
{
    qDebug("time out\n");
    ptrTimerAlarm->stop();
    QString info = "wake up, good good study, day day up";
    ui->lblInfo->setText(info);
    for(int i=0; i<5; i++)
    {
        ptrSpeecher->say(info);

    }

}

clock.cpp 

#ifndef CLOCK_H
#define CLOCK_H

#include <QWidget>
#include <QTimer>
#include <QTime>
#include <QDateTime>
#include<QDebug>
#include<QTextToSpeech>

QT_BEGIN_NAMESPACE
namespace Ui { class Clock; }
QT_END_NAMESPACE

class Clock : public QWidget
{
    Q_OBJECT

public:
    Clock(QWidget *parent = nullptr);
    ~Clock();

private slots:
    void on_btnStart_clicked();

private:
    Ui::Clock *ui;

public:
    QTimer *ptrTimerShow;
    QTimer *ptrTimerAlarm;

public slots:
    void timeShowSlot();
    void timeAlarmSlot();

private:
    QTextToSpeech *ptrSpeecher;

};
#endif // CLOCK_H

man.cpp

#include "clock.h"

#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Clock w;
    w.show();
    return a.exec();
}

运行界面

Qt / day04,qt,命令模式,开发语言文章来源地址https://www.toymoban.com/news/detail-790298.html

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

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

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

相关文章

  • 04-6_Qt 5.9 C++开发指南_QListWidget和QToolButton

    Qt 中用于项 (Item)处理的组件有两类, 一类是 Item Views ,包括 QListView、QTreeView、QTableView、QColumnView 等; 另一类是 Item Widgets ,包括 QListWidget、QTreeWidget 和QTableWidget。 Item Views 基于模型/视图(Model/Vicw)结构,视图 (View)与模型数据(Model Data)关联实现数据的显示和编辑,模型/视图结

    2024年02月13日
    浏览(37)
  • 04-5_Qt 5.9 C++开发指南_QComboBox和QPlainTextEdit

    QComboBox 是下拉列表框组件类,它提供一个下拉列表供用户选择,也可以直接当作一个QLineEdit 用作输入。OComboBox 除了显示可见下拉列表外,每个项 (item,或称列表项)还可以关联一个 QVariant 类型的变量,用于存储一些不可见数据。 QPlainTextEdit 是一个多行文本编辑器,用于显示

    2024年02月14日
    浏览(42)
  • QT支持多种开发语言

    QT主要是一个C++应用程序框架,但它也提供了对其他一些编程语言的官方或非官方支持。以下是QT支持的一些语言版本及其特点。北京木奇移动技术有限公司,专业的软件外包开发公司,欢迎交流合作。 1.Python (PyQt)  : PyQt是QT的官方Python绑定,允许Python开发者使用QT库来创建

    2024年04月29日
    浏览(38)
  • Qt6.5.1+WebRTC学习笔记(十一)开发环境搭建(ubuntu22.04)

    win10开发测试已经一段时间了,最近将程序移植到ubuntu测试了下,改动不是很大,本教程记录下环境搭建过程 1.操作系统ubuntu22.04 64位 x86架构(建议更新到最新) 2.合理的上网方式,需要正常访问google,最好有40G以上流量 3.安装git,并设置代理 4.安装depot_tools depot_tools是包含下载

    2024年02月09日
    浏览(46)
  • 04-4_Qt 5.9 C++开发指南_时间日期与定时器

    时间日期是经常遇到的数据类型,Qt 中时间日期类型的类如下。 QTime:时间数据类型,仅表示时间,如 15:23:13。 QDate:日期数据类型,仅表示日期,如2017-4-5. QDateTime:日期时间数据类型,表示日期和时间,如2017-03-23 08:12:43. Qt 中有专门用于日期、时间编辑和显示的 界面组件 ,介

    2024年02月14日
    浏览(38)
  • 【Visual Studio】Qt 的实时绘图曲线功能,使用 C++ 语言,配合 Qt 开发串口通信界面

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 战斗背景:做了个串口接收界面,用来接收传输过来的信号。但是光用数字显示太单调,需要用图线显示出来。 战略目标:干掉它。 战术路线:Qt 绘图可以使用 Qt Charts,先了解

    2024年02月11日
    浏览(38)
  • 04-1_Qt 5.9 C++开发指南_常用界面设计组件_字符串QString

    本章主要介绍Qt中的常用界面设计组件,因为更多的是涉及如何使用,因此会强调使用,也就是更多针对实例,而对于一些细节问题,需要参考《Qt5.9 c++开发指南》进行学习。 图4-1是实例samp4_1 设计时的窗体,是基于QWidget 创建的可视化窗体。界面设计使用了布局管理,窗体上

    2024年02月13日
    浏览(61)
  • 【VisualStudio】使用 C++ 语言开发 Qt 环境配置教程

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 先上一张效果图,具体步骤主要分为以下三步。 这一步不再赘述,注意一定要安装 C++ 语言。 可以参考这个教程 Visual Studio 2022安装与使用教程。 这一步也不再赘述,网上搜索教

    2024年02月10日
    浏览(63)
  • iTOP-RK3588开发板Ubuntu 系统交叉编译 Qt 工程-命令行交叉编译

    使用源码 rk3588_linux/buildroot/output/rockchip_rk3588/host/bin/qmake 交叉编译 QT 工程。 最后烧写编译好的 buildroot 镜像,将编译好的 QT 工程可执行程序在 buildroot 系统上运行。 交叉编译 QT 工程如下所示,首先进入 QLed 的工程目录下。 然后使用以下命令交叉编译 QT 工程,如下图所示:

    2024年02月13日
    浏览(30)
  • 【VisualStudio】基于 Visual Studio 使用 C++ 语言开发 Qt 环境配置教程

    知识不是单独的,一定是成体系的。更多我的个人总结和相关经验可查阅这个专栏:Visual Studio。 先上一张效果图,具体步骤主要分为以下三步。 这一步不再赘述,注意一定要安装 C++ 语言。 可以参考这个教程 Visual Studio 2022安装与使用教程。 这一步也不再赘述,网上搜索教

    2024年02月15日
    浏览(50)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包