当前位置: 首页 > news >正文

Qt之QWidget 自定义倒计时器

简述

        Qt提供的带进度显示的只有一个QProgresBar,这个控件要么是加载进度从0~100%,要么是持续的两边滚动;而我想要是倒计时的效果,所以QProgresBar并不满足要求,而Qt重写控件相对于MFC来说简直是轻而易举,所以就整了两种不同的倒计时控件;

效果

代码

        QPushButton的绘制部分: 

void MProgressButton::paintEvent(QPaintEvent *event)
{QPushButton::paintEvent(event);if (m_iTotalMs > 0) {QPen pen;pen.setWidth(6);pen.setColor(Qt::red);QPainter painter(this);painter.setPen(pen);painter.setRenderHint(QPainter::Antialiasing);int w = width(), h = height();int total = (w + h) * 2;float percent = (m_iRemainMs * 1.0f / m_iTotalMs);float remain = percent * total;QLineF line;if (remain > 

相关文章:

  • 操作系统--磁盘存储器的管理
  • Apache Tomcat httpoxy 安全漏洞 CVE-2016-5388 已亲自复现
  • linux sed命令操作大全
  • Spring IoCDI
  • Mac OS 13+,Apple Silicon,删除OBS虚拟摄像头(virtual camera),
  • 网络爬虫之Ajax动态数据采集
  • 力扣labuladong——一刷day77
  • Debezium系列之:Flink SQL消费Debezium数据格式,同步数据到下游存储系统
  • 【时序分析】TimeGPT:首个时间序列分析基础大模型
  • Python生成器与迭代器
  • 列举mfc140u.dll丢失的解决方法,常见的mfc140u.dll问题
  • 【Vulnhub 靶场】【Hack Me Please: 1】【简单】【20210731】
  • 【Linux基础开发工具】gcc/g++使用make/Makefile
  • 论文阅读——RS DINO
  • 人大金仓Kingbase数据库备份和还原
  • [笔记] php常见简单功能及函数
  • 【node学习】协程
  • 0基础学习移动端适配
  • Angular 2 DI - IoC DI - 1
  • IDEA常用插件整理
  • JavaScript设计模式与开发实践系列之策略模式
  • LeetCode18.四数之和 JavaScript
  • mysql外键的使用
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • Vue 重置组件到初始状态
  • 创建一个Struts2项目maven 方式
  • 从零开始在ubuntu上搭建node开发环境
  • 计算机在识别图像时“看到”了什么?
  • 聚类分析——Kmeans
  • 前端临床手札——文件上传
  • 前端相关框架总和
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 想使用 MongoDB ,你应该了解这8个方面!
  • 消息队列系列二(IOT中消息队列的应用)
  • 一个JAVA程序员成长之路分享
  • 深度学习之轻量级神经网络在TWS蓝牙音频处理器上的部署
  • ​secrets --- 生成管理密码的安全随机数​
  • (02)Cartographer源码无死角解析-(03) 新数据运行与地图保存、加载地图启动仅定位模式
  • (3)llvm ir转换过程
  • (AtCoder Beginner Contest 340) -- F - S = 1 -- 题解
  • (C#)一个最简单的链表类
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (解决办法)ASP.NET导出Excel,打开时提示“您尝试打开文件'XXX.xls'的格式与文件扩展名指定文件不一致
  • (三)elasticsearch 源码之启动流程分析
  • (十八)SpringBoot之发送QQ邮件
  • (四)Linux Shell编程——输入输出重定向
  • (未解决)jmeter报错之“请在微信客户端打开链接”
  • (原)本想说脏话,奈何已放下
  • (原創) 如何動態建立二維陣列(多維陣列)? (.NET) (C#)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转)socket Aio demo
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案