【嵌入式学习】QT-Day4-Qt基础

简单实现闹钟播报,设置时间,当系统时间与设置时间相同时播报语音5次,然后停止。如果设置时间小于当前系统时间,则弹出消息提示框,并清空输入框。
在这里插入图片描述

#include "my_clock.h"
#include "ui_my_clock.h"
#include "aerowidget.h"my_clock::my_clock(QWidget *parent): QWidget(parent), ui(new Ui::my_clock)
{ui->setupUi(this);this->setAttribute(Qt::WA_TranslucentBackground);ui->time_screen->setAlignment(Qt::AlignCenter);setWindowFlags(Qt::FramelessWindowHint);
//    setWindowFlags(Qt::Tool | Qt::FramelessWindowHint |Qt::X11BypassWindowManagerHint); // 设置窗口标志为Qt::Tool、Qt::FramelessWindowHint和Qt::WindowMinimizeButtonHint// 设置鼠标追踪setMouseTracking(true);timer_id = startTimer(100);
}my_clock::~my_clock()
{delete ui;
}// 重写鼠标按下事件
void my_clock::mousePressEvent(QMouseEvent *event)
{if (event->button() == Qt::LeftButton) {// 保存鼠标按下时的位置和窗口位置m_dragPos = event->globalPos() - frameGeometry().topLeft();event->accept();}
}// 重写鼠标移动事件
void my_clock::mouseMoveEvent(QMouseEvent *event)
{if (event->buttons() & Qt::LeftButton) {// 移动窗口到鼠标位置move(event->globalPos() - m_dragPos);event->accept();}
}void my_clock::timerEvent(QTimerEvent *e)
{QDateTime dateTime = QDateTime::currentDateTime();if(e->timerId() == timer_id){ui->time_screen->setText(dateTime.toString("hh:mm:ss"));//    ui->time_screen->setText(dateTime.toString("yyyy/MM/dd - hh:mm:ss"));}else if (e->timerId() == timer_id_btn){}
}void my_clock::on_pushButton_3_clicked()
{close();
}void my_clock::on_pushButton_4_clicked()
{
//    showMinimized();Qt::WindowFlags flags = windowFlags();if (flags & Qt::WindowStaysOnTopHint)flags &= ~Qt::WindowStaysOnTopHint;elseflags |= Qt::WindowStaysOnTopHint;setWindowFlags(flags);show(); // Ensure the window is shown after changing flags
}void my_clock::on_pushButton_5_clicked()
{if(ui->pushButton_5->text() == "启动"){timer_id_btn = startTimer(1000);ui->pushButton_5->setText("关闭");}else{killTimer(timer_id_btn);ui->pushButton_5->setText("启动");}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2812236.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

远程控制APP,高效生活的秘诀!

在这个科技日新月异的时代,我们的生活被各种手机软件所包围。几乎每个人都有一个甚至多个手机,你是否也有遇到过需要远程操作自己某一台手机的场景呢?今天,我要向大家推荐一款神奇的手机远程操作神器,让你可以随时随地…

C++ //练习 9.5 重写上一题的函数,返回一个迭代器指向找到的元素。注意,程序必须处理未找到给定值的情况。

C Primer(第5版) 练习 9.5 练习 9.5 重写上一题的函数,返回一个迭代器指向找到的元素。注意,程序必须处理未找到给定值的情况。 环境:Linux Ubuntu(云服务器) 3工具:vim 代码块 …

Anaconda和TensorFlow环境搭建!!

Anaconda下载 进入官网下载 https://www.anaconda.com/download 也可以通过清华的映像站下载: https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 我这里下载的是3.4.20版本。下载好就可以安装默认安装就行。 打开Anaconda Prompt修改成国内镜像 conda c…

Coursera吴恩达机器学习专项课程02:Advanced Learning Algorithms 笔记 Week01

Advanced Learning Algorithms Week 01 笔者在2022年7月份取得这门课的证书,现在(2024年2月25日)才想起来将笔记发布到博客上。 Website: https://www.coursera.org/learn/advanced-learning-algorithms?specializationmachine-learning-in…

Kafka源码搭建以及系统架构

Kafka源码分析环境搭建 使用截止目前为止Kafka的最新版本3.3.1版本的源码进行环境搭建 Kafka源码下载 从kafka官网下载kafka-3.3.1版本的源码 http://kafka.apache.org/downloads 解压(要放到英文目录,不然会报一些奇怪的错误) Scala安装 因为在源码中配置的sc…

什么是SSH端口转发?

目录 前言: 一、SSH端口转发的概念 二、SSH端口转发的类型 2.1 本地端口转发 2.2 远程端口转发 2.3 动态端口转发 三、SSH端口转发的用途 3.1 安全远程访问 3.2 跨越网络限制 3.3 加密流量传输 3.4 跨越 NAT 网络 3.5 安全代理 四、总结 前言&#xff…

AI:138-开发一种能够自动化生成艺术品描述的人工智能系统

🚀点击这里跳转到本专栏,可查阅专栏顶置最新的指南宝典~ 🎉🎊🎉 你的技术旅程将在这里启航! 从基础到实践,深入学习。无论你是初学者还是经验丰富的老手,对于本专栏案例和项目实践都有参考学习意义。 ✨✨✨ 每一个案例都附带关键代码,详细讲解供大家学习,希望…

时间序列分析实战(六):ARIMA乘法(疏系数)模型建模及预测

🍉CSDN小墨&晓末:https://blog.csdn.net/jd1813346972 个人介绍: 研一|统计学|干货分享          擅长Python、Matlab、R等主流编程软件          累计十余项国家级比赛奖项,参与研究经费10w、40w级横向 文…

HarmonyOS—低代码开发Demo示例

接下来为大家展示一个低代码开发的JS工程的Demo示例,使用低代码开发如下华为手机介绍列表的HarmonyOS应用/服务示例。 1.删除模板页面中的控件后,选中组件栏中的List组件,将其拖至中央画布区域,松开鼠标,实现一个List组…

多模态表征—CLIP及中文版Chinese-CLIP:理论讲解、代码微调与论文阅读

我之前一直在使用CLIP/Chinese-CLIP,但并未进行过系统的疏导。这次正好可以详细解释一下。相比于CLIP模型,Chinese-CLIP更适合我们的应用和微调,因为原始的CLIP模型只支持英文,对于我们的中文应用来说不够友好。Chinese-CLIP很好地…

Mysql常见函数和用法(重点)

where子句中经常使用的运算符 -- 查询总分大于200分的所有同学 select * from student2 where (chineseenglishmath)>200; -- 查询math大于60 并且(and)id大于4的学生成绩 select * from student2 where math>60 and id>4; -- 查询英语成绩大于语文成绩的同学 select …

PyQt6的开发流程(密码生成小程序为例)

PyQt6的开发流程(密码生成小程序为例) 文章目录 PyQt6的开发流程(密码生成小程序为例)一、流程介绍与概览1. 界面与逻辑分离的开发流程2. PyQt6的开发流程 二、打开 designer.exe 创建文件三、用QT设计师绘制界面保存成ui1. QT常用…

Nginx之rewrite重写功能

一、rewrite概述 1、rewrite功能 访问重写 rewrite 是 Nginx HTTP 请求处理过程中的一个重要功能,它是以模块的形式存在于代码中的,其功能是对用户请求的 URI 进行 PCRE 正则重写,然后返回 30 重定向跳转或按条件执行相关配置。 Nginx服务…

大语言模型推理加速技术:模型压缩篇

原文:大语言模型推理加速技术:模型压缩篇 - 知乎 目录 简介 量化(Quantization) LLM.int8() GPTQ SmoothQuant AWQ 精简Attention 共享Attention参数 Multi-Query Attention Grouped-Query Attention 稀疏Attention Sliding Window Attenti…

Android自定义View实现数字密码锁

最近项目上用到一个密码加锁功能,需要一个数字密码界面,就想着封装成一个View来方便管理和使用。 废话不多说,先上最终效果图: 思路 整体可分为2个部分来实现,1.顶部是4个密码位的填充;2.数字键盘部分。整…

ssm747普通话培训信息管理系统设计与实现(源码+调试+LW)

项目描述 临近学期结束,还是毕业设计,你还在做java程序网络编程,期末作业,老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。今天给大家介绍一篇基于ssm普通话培训信息管…

服务质量目标:SLI,SLO,SLA

如果你要面试运维专家岗/运维架构师/运维经理/运维总监,面试中必然会问到的一个问题就是:“你能保障什么样的SLA?如何去实现你所保障的SLA?” SLA,SLO大家也许也都听说过,也知道几个9的含义,但是细致的去了…

数据结构知识点总结-线性表(3)-双向链表定义、循环单链表、、循环双向链表、静态链表、顺序表与链表的比较

双向链表定义 单链表结点中只有一个指向其后继的指针,这使得单链表只能从头结点依次顺序地向后遍历。若要访问某个结点的前驱结点(插入、删除操作时),只能从头开始遍历,访问后继结点的时间复杂度为 O(1) , …

解决内嵌帆软报表出现重定向问题

最近收到反馈,某些程序的前端通过iframe标签内嵌finebi帆软报表时,出现一系列问题。 问题1: 如下图所示,单点登录(单点登录地址schema是https)后service地址的schema协议是http, 浏览器内核的安全策略不允许http访问https。 解决方案&#xf…

深入浅出JVM(十三)之垃圾回收算法细节

上篇文章深入浅出JVM(十二)之垃圾回收算法讨论了垃圾回收算法,为了能够更加充分的理解后续的垃圾收集器,本篇文章将深入浅出解析垃圾回收算法的相关细节,如:STW、枚举根节点如何避免长时间STW、安全点与安全…