54常用控件_QLCDNumber的属性
目录
代码示例: 倒计时
QLCDNumer 是一个专门用来显示数字的控件.类似于“老式计算器”的效果
属性 | 说明 |
intValue | QLCDNumber显示的数字值(int). |
value | QLCDNumber 显示的数字值(double). 和intValue是联动的. 例如给value设为1.5, intValue的值就是2. 另外,设苣value和intValue的方法名字为display,而不是setvalue或 者 setlntValue . |
digitCount | 显示几位数字. |
mode | 数字显示形式.
|只有十进制的时候才能显示小数点后旳内容. |
segmentstyle | 设置显示风格.
|
smallDecimalPoint | 设置比较小的小数点. |
代码示例: 倒计时
1)在界面上创建一个 QLCDNumber,初始值设为 10.
objectName 为 lcdNumber

成员,和一个 updateTime 函数
QTimer 表示定时器.通过 start 方法启动定时器之后,就会每隔一定周期,触发一次
QTimer::timeout 信号.
使用 connect 把 QTimer::timeout 信号和 Widget::updateTime 连接起来,意味着每
次触发 QTimer::timeout 都会执行 Widget::updateTime
通过 intValue 获取到 QLCDNumber 内部的数值
如果 value 的值归0了,就停止 QTimer,接下来 QTimer 也就不会触发 timeout信号了

报错,因为timer是局部变量,将它定义为类的成员变量,其他成员函数能够访问


倒计时.
使用 QLCDNumber 显示一个初始的数值,比如 10.
每隔一秒钟,数字就 -1
一直到 0,就停止了
此处关键要点是要实现“每秒钟 -1”这个效果
周期性的执行某个逻辑~~周期性实现某个逻辑功能会封装成类
定时器"
C++ 标准库中,没有提供定时器的实现,Boost 里面提供了对应的功能
Qt 中也封装了对应的定时器~~(结合了信号槽机制的)
QTimer
通过这个类创建出来的对象,就会产生一个 timeout 这样的信号~~
可以通过 start 方法来开启定时器,并且参数中设定触发 timeout 信号的
周期
结合 connect,把这个 timeout 信号绑定到需要的槽函数中,就可以执行逻辑,修改 LCDNumber 中的数字了.
1)上述代码如果直接在 Widget 构造函数中通过一个循环 +sleep 的方式是否可以呢?
代码形如


sleep=> Windows 的 api,需要包含"Windows.h"头文件才能使用的~~
C++ 11 标准库中引入了 sleep 操作.标准库就可以通过一些“条件编译”的方式来兼容不同的系统
sleep forWidget 的构造函数
需要把 Widget 构造完毕, 然后才能执行后续的显示操作~~会停顿10s才出现窗口
2)上述代码如果是在 Widget 构造函数中,另起一个线程,在新线程中完成 循环 + sleep 是否可以呢?
代码形如

当我们自己的线程中尝试对界面元素进行修改时,Qt 程序往往会直接崩溃
这样的约定主要是因为 GUI中的状态往往是牵一发动全身的,修改一个地方,就需要同步的对
其他内容进行调整
比如调整了某个元素的尺寸,就可能影响到内部的文字位置,或者其他元素的位置.这里一连串
的修改,都是需要按照一定的顺序来完成的
由于多线程执行的顺序无法保障,因此 Qt 从根本上禁止了其他线程修改 GUI状态避免后续的
一系列问题,
terminate called without an active exception
Qt 里,界面有一个专门的线程去负责维护更新的(主线程)
(main 函数所在的线程)
对于 GUI 来说,内部包含了很多的隐状态,Qt 为了保证修改界面的过程中,线程安全是不会受到影响的,Qt 禁止了其他线程直接改界面
ui->lcdNumber>display(value);
形如这种操作,就是在修改界面~~
因此 Qt 为了确保线程安全,直接要求所有的对界面的修改操作,必须在主线程中完成!!
对于 Qt 的槽函数来说,默认情况下,槽函数都是由主线程调用的
在槽函数中修改界面是没有任何问题的!!
return a.exec();
a.exec 就会使主线程进入“事件循环
exec 就会一直循环下去,每执行一次循环,都会有一些固定的事情要操作~~
综上所述,使用定时器是实现上述功能的最合理方案
后续如果我们也有类似的需要“周期性修改界面状态”的需求,也需要优先考虑使用定时器
相关文章:
54常用控件_QLCDNumber的属性
目录 代码示例: 倒计时 QLCDNumer 是一个专门用来显示数字的控件.类似于“老式计算器”的效果 核心属性 属性 说明 intValue QLCDNumber显示的数字值(int). value QLCDNumber 显示的数字值(double). 和intValue是联动的. 例如给value设为1.5, intValue的值就是2. 另外&a…...
IcePlayer音乐播放器项目分析及学习指南
IcePlayer音乐播放器项目分析及学习指南 项目概述 IcePlayer是一个基于Qt5框架开发的音乐播放器应用程序,使用Visual Studio 2013作为开发环境。该项目实现了音乐播放、歌词显示、专辑图片获取等功能,展现了桌面应用程序开发的核心技术和设计思想。 技…...
【ELF2学习板】Ne10进行FFT测试
目录 引言 Ne10简介 交叉编译Ne10 测试 测试程序 测试结果 结语 引言 在上一篇博文介绍了FFTW在ELF2开发板的测试。其中我们提到--enable-neon选项在aarch64平台下无法启用。接下来测试一个专门用NEON指令优化的FFT库Ne10。 Ne10简介 NE10 是一个面向 ARM 架构的开源数…...
Android device PCO (protocol configuration options) intro
术语 英文缩写英文全称中文PCOprotocol configuration options协议配置选项RILradio interface layer 无线电接口层PCO介绍 PCO(Protocol Configuration Options) 是 3GPP 标准协议(TS 24.008)中定义的核心概念,用于在 LTE/5G 网络建立 PDN 连接时传递动态配置参数(如 D…...
HAL库通过FATFS和SDIO+DMA写入SD卡数据错误
HAL库F4版本 1.28.1 最近在使用HAL库配置SDIODMA并通过FATFS向SD卡写入数据,但是发现写入的数据经常有错误,不是少了一部分就是多了一部分,写入的数据为csv格式,通过循环向缓冲区写入"100100,12.345678\r\n"数据来观察问…...
RK Android11 修改默认语言为法语及时区为巴黎时间
文章目录 1、需求2、解决 1、需求 客户要求将系统默认语言改为法语,系统默认时区改为巴黎时间(也称为欧洲中部时间)2、解决 --- a/build/make/tools/buildinfo.shb/build/make/tools/buildinfo.sh-46,7 46,7 echo "ro.product.cpu.ab…...
文件上传Ⅰ
文件上传--前后端验证 不让上传php,所以要绕过它 遇到网站可能不是php语言,会是java或者python语言等,它只能解析网站本身的语言,那我们就上传符合网站语言识别的格式(它能解析什么后缀,就上传什么后缀)&…...
IntelliJ IDEA clean git password
IntelliJ IDEA clean git password 清除git密码 方法一:(这个要特别注意啊,恢复默认设置,你的插件什么要重新下载了) File->Manage IDE Settings->Restore Default Settings以恢复IDEA的默认设置(可选); 清空…...
【C++指南】哈希驱动的封装:如何让unordered_map/set飞得更快更稳?【上】
🌟 各位看官好,我是egoist2023! 🌍 种一棵树最好是十年前,其次是现在! 💬 注意:本文在哈希函数中主讲除法散列法,乘法散列法、全域散列法、双重散列等自行了解。 &#x…...
论坛测试报告
作者前言 🎂 ✨✨✨✨✨✨🍧🍧🍧🍧🍧🍧🍧🎂 🎂 作者介绍: 🎂🎂 🎂 🎉🎉🎉…...
人脸扫描黑科技:多相机人脸扫描设备,打造你的专属数字分身
随着科技的迅猛发展,人脸扫描这个词已经并不陌生,通过人脸扫描设备制作超写实人脸可以为影视制作打造逼真角色、提升游戏沉浸感,还能助力教育机构等领域生产数字人以丰富教学资源,还在安防、身份识别等领域发挥关键作用࿰…...
统计字符串每个字符出现频率
输入一个字符串,统计每个字符的出现频率,然后判断最大频率与最小频率的差值 cnt: 如果 cnt 是质数,则输出 "Lucky Word" 和 差值; 否则输出 "No Answer" 和 0。 #include <bits/stdc.h> u…...
SQL-子查询
SQL子查询是嵌套在另一个SQL查询中的SELECT语句,将内部查询的结果作为外部查询的条件或者数据源。 核心概念 子查询是一个完整的SELECT语句,可以嵌入到其他查询的where, from, SELECT, HAVING等子句中,用于动态生成条件或临时数据集。 例如…...
Python(21)Python日期时间完全指南:从基础到实战注意事项
目录 一、背景与核心价值二、核心模块详解与实战2.1 datetime模块四剑客2.2 时区处理黄金法则 三、企业级应用案例3.1 全球日志分析系统3.2 金融交易时间校验 四、六大核心注意事项1. 时区意识优先原则2. 时间戳的精度陷阱3. 夏令时转换三步骤4. 日期格式化安全指南5. 性…...
【医学影像 AI】早产儿视网膜病变国际分类(第三版)
【医学影像 AI】早产儿视网膜病变国际分类(第三版) 0. 论文简介0.1 基本信息0.2 摘要0.3 缩略语0.4 ICROP3的关键内容总结 1. 引言2. 血管化位置:区域(ZONE)3. 加重病变与前加重病变4. 急性病变分期(阶段1-…...
焊接机器人的设计
一、引言 随着制造业的发展,焊接工艺在各个领域得到广泛应用。焊接机器人具有焊接质量高、效率高、劳动强度低等优点,能够满足现代制造业对焊接生产的要求。设计一款性能优良的焊接机器人,对于提高焊接生产的自动化水平和产品质量具有重要意…...
SQL SERVER里面也可以插入存储过程,操作TCP,WEBSOCKET吗?数据发生改变时用于通知客户端
SQL SERVER里面也可以插入存储过程,操作TCP,WEBSOCKET吗?数据发生改变时用于通知客户端SQL存储过程入门🔥 - 人生得E不早朝 深度思考完成 用时28秒 好的,用户的问题是:SQL Server里面是否可以通过插入存储过程来操作TCP或WebSocket&…...
利用 DeepSeek-R1 模型和计算机视觉微调模型实现马铃薯叶片疾病识别和分类
一、需求背景 在农业现代化进程中,作物健康监测对于保障粮食安全和提高农业生产效率起着举足轻重的作用。马铃薯作为全球重要的粮食作物之一,其种植面积广泛,产量和质量直接关系到众多农户的生计以及食品供应链的稳定。准确、快速地鉴别马铃…...
文章记单词 | 第39篇(六级)
一,单词释义 themselves [əmˈselvz] pron. 他们自己;她们自己;它们自己;(用以加强语气)他们亲自,她们亲自,它们亲自;(反身代词) 指某人或某物本…...
深入理解C++中string的深浅拷贝
目录 一、引言 二、浅拷贝与深拷贝的基本概念 2.1 浅拷贝 2.2 深拷贝 在C 中, string 类的深浅拷贝有着重要的区别。 浅拷贝 深拷贝 string 类中的其他构造函数及操作 resize 构造 构造(赋值构造) 构造(拼接构造…...
C++ 常用的智能指针
C 智能指针 一、智能指针类型概览 C 标准库提供以下智能指针(需包含头文件 <memory>): unique_ptr:独占所有权,不可复制, 可移动shared_ptr:共享所有权,用于引用计数weak_pt…...
【AI部署】腾讯云GPU-常见故障—SadTalker的AI数字人视频—未来之窗超算中心 tb-lightly
ERROR: Could not find a version that satisfies the requirement tb-nightly (from torchreid) (from versions: none) ERROR: No matching distribution found for tb-nightly 解决 阿里云 python -m pip install tb-nightly -i https://mirrors.aliyun.com/pypi/simple …...
三大等待和三大切换
三大等待 1、三大等待:等待的方式有三种:强制等待,隐性等待,显性等待。 1、强制等待:time.sleep(2),秒 优点:使用简单缺点:等待时间把握不准,容易造成时间浪费或者等待时…...
工程化实践:Flutter项目结构与规范
工程化实践:Flutter项目结构与规范 在Flutter项目开发中,良好的工程化实践对于提高开发效率、保证代码质量和团队协作至关重要。本文将从项目结构、代码规范、CI/CD流程搭建以及包管理等方面,详细介绍Flutter项目的工程化最佳实践。 项目结…...
数据结构-Map和Set
文章目录 1. 搜索树2. Map3. Set4. 哈希表4.1 哈希表的基本概念4.2 哈希表的实现方法4.3 Java中的哈希表实现 5. 哈希桶哈希桶的实现方式哈希桶的作用哈希桶的应用模拟实现 1. 搜索树 二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树࿰…...
cpolar 内网穿透 实现公网可以访问本机
1、登录网站,升级成专业版,测试的话建议选一个月付费,选择预留 2、保留的TCP地址增加一条记录,描述可以自己取 3、验证,生成一个Authtocken码 4、在安装目录下,打开CMD命令,复制上面的码运行aut…...
QT调用ffmpeg库实现视频录制
可以通过QProcess调用ffmpeg命令行,也可以直接调用ffmpeg库,方便。 调用库 安装ffmpeg ffmpeg -version 没装就装 sudo apt-get update sudo apt-get install ffmpeg sudo apt-get install ffmpeg libavdevice-dev .pro引入库路径,引入库 LIBS += -L/usr/lib/aarch64-l…...
AI专题(一)----NLP2SQL探索以及解决方案
前面写了很多编码、算法、底层计算机原理等相关的技术专题,由于工作方向调整的缘故,今天开始切入AI人工智能相关介绍。本来按照规划,应该先从大模型的原理开始介绍会比较合适,但是计划赶不上变化,前面通用大模型的工作…...
Redis 的指令执行方式:Pipeline、事务与 Lua 脚本的对比
Pipeline 客户端将多条命令打包发送,服务器顺序执行并一次性返回所有结果。可以减少网络往返延迟(RTT)以提升吞吐量。 需要注意的是,Pipeline 中的命令按顺序执行,但中间可能被其他客户端的命令打断。 典型场景&…...
群辉默认docker数据存储路径
做一下笔记 今天不小心路径规划错误,好不容易找到了数据,特此做个路径记录。 /var/packages/ContainerManager/var/docker/...
【C++】入门基础【上】
目录 一、C的发展历史二、C学习书籍推荐三、C的第一个程序1、命名空间namespace2、命名空间的使用3、头文件<iostream>是干什么的? 个人主页<—请点击 C专栏<—请点击 一、C的发展历史 C的起源可以追溯到1979年,当时Bjarne Stroustrup(本…...
Git LFS 学习笔记:原理、配置、实践与心路历程
最近在学习 Git LFS,把一些零散的笔记整理成一篇博文,记录我的学习思路与心路历程。以下内容均为个人理解总结,部分尚未在生产项目中验证,仅供回顾与参考。 🔍 Git LFS 是什么?原理是什么? 刚接…...
SpringBoot集成oshi 查询系统数据
实现功能: <!-- 获取系统信息 --><dependency><groupId>com.github.oshi</groupId><artifactId>oshi-core</artifactId><version>6.6.1</version></dependency><dependency><groupI…...
iOS Facebook 登录
iOS Facebook 登录 官方文档 SDK下载链接...
uniapp打包IOS私钥证书过期了,如何在非mac系统操作
在非Mac系统下解决uniapp打包iOS私钥证书过期的问题,需通过以下步骤实现: --- ### **一、重新生成iOS证书(非Mac环境操作)** 1. **生成私钥和CSR文件** 使用OpenSSL工具(需提前安装)生成私钥和证书签…...
Axios的使用
Axios 是一个基于 Promise 的现代化 HTTP 客户端库,专为浏览器和 Node.js 设计。在企业级应用中,它凭借以下核心优势成为首选方案: 一、Axios 的核心优势 特性说明Promise 支持天然支持异步编程,避免回调地狱拦截器机制可全局拦截…...
第八篇:系统分析师第三遍——3、4章
目录 一、目标二、计划三、完成情况四、意外之喜(最少2点)1.计划内的明确认知和思想的提升标志2.计划外的具体事情提升内容和标志 五、总结 一、目标 通过参加考试,训练学习能力,而非单纯以拿证为目的。 1.在复习过程中,训练快速阅读能力、掌…...
【2025-泛计算机类-保研/考研经验帖征集】
【2025-泛计算机类-保研/考研经验帖征集】 打扰您1分钟时间看下这里: 这是一个无偿为爱发电的项目,旨在收集湖南大学2025届毕业的计算机类学科同学的经验帖, 我将定期汇总链接,在校内推免群中宣传,为校内的学弟学妹们…...
Flink介绍——实时计算核心论文之Kafka论文详解
引入 我们通过S4和Storm论文的以下文章,已经对S4和Storm有了不错的认识: S4论文详解S4论文总结Storm论文详解Storm论文总结 不过,在讲解这两篇论文的时候,我们其实没有去搞清楚对应的流式数据是从哪里来的。虽然S4里有Keyless …...
细节:如何制作高质量的VR全景图
细节:如何制作高质量的VR全景图 VR全景图是通过虚拟现实和3D技术实现的全景展示方式,能够将实景以1:1的比例等比复刻,并还原到互联网上,使用户能够在线上游览世界,获得沉浸式的体验。制作高质量的VR全景图是一个复杂而…...
深度学习中的概念——元素积(哈达玛积)
元素积操作(哈达玛积) 🔢 基本定义 矩阵的哈达玛积 对于两个同维度的矩阵: A [ a i j ] , B [ b i j ] A [a_{ij}], \quad B [b_{ij}] A[aij],B[bij] 它们的哈达玛积定义为: C A ∘ B 其中 c i j a i j…...
探索 Flowable 后端表达式:简化流程自动化
什么是后端表达式? 在 Flowable 中,后端表达式是一种强大的工具,用于在流程、案例或决策表执行期间动态获取或设置变量。它还能实现自定义逻辑,或将复杂逻辑委托…… 后端表达式在 Flowable 的后端运行,无法访问前端…...
AI语音助手 React 组件使用js-audio-recorder实现,将获取到的语音转成base64发送给后端,后端接口返回文本内容
页面效果: js代码: import React, { useState, useRef, useEffect } from react; import { Layout, List, Input, Button, Avatar, Space, Typography, message } from antd; import { SendOutlined, UserOutlined, RobotOutlined, AudioOutlined, Stop…...
《软件设计师》复习笔记(11.6)——系统转换、系统维护、系统评价
目录 一、遗留系统(Legacy System) 定义: 特点: 演化策略(基于价值与技术评估): 高水平 - 低价值: 高水平 - 高价值: 低水平 - 低价值: 低水平 - 高价…...
学习threejs,使用EffectComposer后期处理组合器(采用RenderPass、GlitchPass渲染通道)
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:threejs gis工程师 文章目录 一、🍀前言1.1 ☘️THREE.EffectComposer 后期…...
Yarn的定义?
YARN(Yet Another Resource Negotiator) 是 Apache Hadoop 的核心组件之一,负责集群的资源管理和任务调度。它的主要作用是将 Hadoop 的资源管理和作业调度/监控功能分离,形成一个通用的资源管理平台,可以支持多种计算…...
职坐标IT培训热门技术实战精讲
在数字化转型浪潮中,人工智能、大数据与云原生已成为驱动产业升级的核心引擎。职坐标IT培训课程以实战导向为基石,聚焦高薪岗位核心技术栈,通过拆解企业级项目案例,将复杂的技术理论转化为可落地的工程实践。课程模块涵盖从架构设…...
前端:uniapp框架中<scroll-view>r如何控制元素进行局部滚动
以下是使用 <scroll-view> 实现局部滚动的完整示例,包含动态内容、滚动控制和滚动位置监听: 一、基础局部滚动示例 <template><view class"container"><!-- 固定高度的滚动容器 --><scroll-view scroll-y :scroll…...
【KWDB 创作者计划】_算法篇---Stockwell变换
文章目录 前言一、Stockwell变换原理详解1.1 连续S变换定义1.2 离散S变换1.3简介 二、S变换的核心特点2.1频率自适应的时频分辨率2.1.1高频区域2.1.2低频区域 2.2无交叉项干扰2.3完全可逆2.4相位保持2.5与傅里叶谱的直接关系 三、应用领域3.1地震信号分析3.2生物医学信号处理3.…...
桌面级OTA测试解决方案:赋能智能网联汽车高效升级
一、前言 随着智能网联汽车的快速发展,OTA(Over-The-Air)技术已成为汽车软件更新和功能迭代的关键手段。为确保OTA升级的可靠性、安全性和效率,构建一套高效、便捷的桌面级OTA测试解决方案至关重要。 本方案基于Vector先进的软硬…...