Qt实现带有映射关系的进度条
2024-10-21 11:37:35
1.编写继承自widget的新类,这里我们定义为colorWidget;
2.在colorWidget中添加私有变量QVector<QRect> m_rects,用于存放进度条的不同区间(矩形),这里为了省事,利用接口函数定义数量,
然后对widget空间作均匀划分;
3.重写paintEvent函数,在其中循环绘制m_rects所有矩形各自空间的颜色或其他;
4.重写mousePressEvent函数,判断鼠标点位置是否在对应的rect区间内,由此判定点击反馈,从而通过信号槽或者回调将具体位置传输到空间所在上层界面类中
(注:此处有一定误区,如果上层界面类中包含菜单栏或者工具栏,会影响内部坐标判定,建议去掉菜单栏和工具栏,此处应该为QT内核中某些逻辑错误)
图1:结果示例(点击绿色传出其index为3)
最新文章
- 【HDU 5744】Keep On Movin
- elasticsearch之python备份
- 最近比较迷flash professional cc 做PPT,做一个flash做动态打字效果的教程
- Winform远程更新代码
- 从hadoop一路配置到spark
- 【组合&;取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843
- java 中 正则 matches vs find
- django中的数据库迁移
- Mac下必备快捷键的符号所对应的按键
- jquery-- json字符串没有自动包装为 json对象
- mysql Alter table设置default的问题,是bug么?
- C#与Java的语法差异
- 一致性哈希算法——PHP实现代码
- 高性能mysql读书笔记(一):Schema与数据类型优化
- hdoj1010 Temperor of the bone
- 基于jquery-ui及bootstrap的可拖拽模态框
- Using the JDBC Driver
- 字符编码 ASCII,Unicode和UTF-8的关系
- JavaScript小练习2-网页换肤
- Centos7安装和配置Jira7.3.6