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

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

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

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

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

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

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

Qt实现带有映射关系的进度条的更多相关文章

  1. Qt之模型/视图(自定义进度条)

    简述 在之前的章节中分享过关于QHeaderView表头排序.添加复选框等内容,相信大家模型/视图.自定义风格有了一定的了解,下面我们来分享一个更常用的内容-自定义进度条. 实现方式: 从QAbstr ...

  2. QT:程序忙碌时的进度条——开启时间循环,等结束的时候再退出

    当程序在执行一项(或多项)耗时比较久的操作时,界面总要有一点东西告诉用户“程序还在运行中”,那么,一个“没有终点”的进度条就是你需要的了.PS:最好把耗时的操作扔到一个子线程中去,以免他阻塞了界面线程 ...

  3. Qt Qwdget 汽车仪表知识点拆解3 进度条编写

    先贴上效果图,注意,没有写逻辑,都是乱动的 这篇我来说说左侧的这个进度条的实现原理,其实更简单,哈哈哈 有一个大的widget,根据素材,我放了10个label 剩下的就是写一个函数,根据数据的不同, ...

  4. 【PyQt5-Qt Designer】制作炫酷的启动界面+进度条

    QProgressBar 进度条+QSplashScreen 启动界面 知识点: 1.进度条 #将进度条的最大值.最小值设置为相同时,产生跑马灯效果 self.progressBar.setMinim ...

  5. bootstrap警告框、进度条和列表组

    警告框   <div class="container">      <div class="alert alert-success" rol ...

  6. jQuery---bootstrap的下载使用,栅格(12个格子),轮播图,矢量图字体图标,进度条,选项卡,标签,表达校验

    jQuery---bootstrap的下载使用,栅格(12个格子),轮播图,矢量图字体图标,进度条,选项卡,标签,表达校验 一丶bootstrap的使用 下载资源文件: bootstrap官网 导入 ...

  7. Qt编写自定义控件40-导航进度条

    一.前言 导航进度条控件,其实就是支付宝.京东.淘宝订单页面的进度控件,提示当前第几步,总共有几步,然后当前进度特殊颜色显示,每个进度带有时间文字等信息,本控件特意将三种样式风格都集成进去了,京东订单 ...

  8. Qt之QRoundProgressBar(圆形进度条)

    简述 QRoundProgressBar类能够实现一个圆形进度条,继承自QWidget,并且有和QProgressBar类似的API接口. 简述 详细说明 风格 颜色 字体 共有函数 共有槽函数 详细 ...

  9. QT中进度条的使用

    在QT中可以用QProgressBar或着QProgressDialog来实现进度条. QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句 ...

  10. 带有进度条的WebView

    带有进度条的WebView 本篇继于WebView的使用 效果图 自定义一个带有进度条的WebView package com.kongqw.kbox.view; import android.con ...

随机推荐

  1. RBAC(DAC)模型

    基于角色的访问控制模型 ⟨ , ,,, , , ,, ,⟩ U:用户集 S:会话集 O:资源集 Op:操作集 R:角色集 PERMS:OxOp:权限集 RH:RXR(是 的偏序,表示角色的层次结构,其 ...

  2. Camstar获取回参

    public static bool SplitQty(string Username, string Password, string Container, int splitQty,int pla ...

  3. php curl方法封装

    /** * @desc 获取设备的监控项实时值 * * @return url请求地址 * @return method  请求方法(POST,GET,PUT)等 * @return postfiel ...

  4. 实验1task3

    <实验结论> #include <stdio.h> #include <stdlib.h> int main() { int a, b, t; a = 3; b = ...

  5. JupyterNotebook开发介绍

    简单介绍 核心目录在notebook下面,主页面在tempaltes目录下的notebook.html文件,没有用到传统的前端开发技术,还是jquery之类的前端,而且用了非常多的类库,开发环境的搭建 ...

  6. Fortran笔记 派生类型-整理版

    以下为整理后的笔记,英文原文 Introduction to Modern Fortran for the Earth System Sciences, 英文翻译 https://www.cnblog ...

  7. Characterizing possible failure modes in physics-informed neural network

    NeurIPS 2021 表征PINN中可能的失败模式.本文的思路也比较简单,通过对PINN的优化域进行观察,发现导致PINN训练的原因并不是因为神经网络的表达力不足,而是由于PINN中引入了基于PD ...

  8. php redis使用 常用方法 | Windows环境下安装Redis | Windows下php安装redis扩展(详解版)

    redis可视化工具:http://www.treesoft.cn/dms.html #php redis使用 常用方法 https://www.cnblogs.com/mg007/p/1043107 ...

  9. js 方法记录

    1.对象浅拷贝 (array同理)(es6) var aa={}; var bb={name:"xx",info:{age:12,sex:1}} Object.assign(aa, ...

  10. [Github]获取github ID号

    [Github]获取github ID号 https://api.github.com/users/ + 你的账户名称 实例:我github账号叫iBoundary. https://api.gith ...