1.编写继承自widget的新类,这里我们定义为colorWidget;

2.在colorWidget中添加私有变量QVector<QRect> m_rects,用于存放进度条的不同区间(矩形),这里为了省事,利用接口函数定义数量,

然后对widget空间作均匀划分;

3.重写paintEvent函数,在其中循环绘制m_rects所有矩形各自空间的颜色或其他;

4.重写mousePressEvent函数,判断鼠标点位置是否在对应的rect区间内,由此判定点击反馈,从而通过信号槽或者回调将具体位置传输到空间所在上层界面类中

(注:此处有一定误区,如果上层界面类中包含菜单栏或者工具栏,会影响内部坐标判定,建议去掉菜单栏和工具栏,此处应该为QT内核中某些逻辑错误)

图1:结果示例(点击绿色传出其index为3)

最新文章

  1. 【HDU 5744】Keep On Movin
  2. elasticsearch之python备份
  3. 最近比较迷flash professional cc 做PPT,做一个flash做动态打字效果的教程
  4. Winform远程更新代码
  5. 从hadoop一路配置到spark
  6. 【组合&amp;取补集】数三角形 @CQOI2014/BZOJ3505/upcexam3843
  7. java 中 正则 matches vs find
  8. django中的数据库迁移
  9. Mac下必备快捷键的符号所对应的按键
  10. jquery-- json字符串没有自动包装为 json对象
  11. mysql Alter table设置default的问题,是bug么?
  12. C#与Java的语法差异
  13. 一致性哈希算法——PHP实现代码
  14. 高性能mysql读书笔记(一):Schema与数据类型优化
  15. hdoj1010 Temperor of the bone
  16. 基于jquery-ui及bootstrap的可拖拽模态框
  17. Using the JDBC Driver
  18. 字符编码 ASCII,Unicode和UTF-8的关系
  19. JavaScript小练习2-网页换肤
  20. Centos7安装和配置Jira7.3.6

热门文章

  1. jdk 1.8 处理 map和list
  2. springboot docker打包镜像
  3. .net code 3.0 获取配置文件 json 和 config 中的值
  4. Object.create() 方浅析
  5. ES实战-桶查询
  6. jQuery 中 remove删除了某个div 再添加回来
  7. 第二周day5
  8. SQLSERVER自动备份数据库
  9. MySQL表操作(下篇)--完整性约束
  10. Redis容器的二种常用启动方式