先贴上效果图,注意,没有写逻辑,都是乱动的 这篇我来说说左侧的这个进度条的实现原理,其实更简单,哈哈哈 有一个大的widget,根据素材,我放了10个label 剩下的就是写一个函数,根据数据的不同,实时控制这10个label的显示, 实现代码 void Widget::show_Lline(int num) { switch (num) { case 0: { ui->label_lline_1->hide(); ui->label_lline_2->hide(); ui->…
先贴上效果图,注意,没有写逻辑,都是乱动的 注意看一下,右面的这两个进度条,有瑕疵,就是我没有把图片处理干净,这里犹豫我不知道这个具体的弧度,也没法绘制,就偷懒了 现在上面放一个UI,把两个进度条抠空了如下图 完了在这个图层下面在各放置两个图层,绘制就可以 这样以后把下面的图层填充绘制就好,类似PS中的蒙板 实现代码 /* * 绘制右侧水温条函数 */ void Widget::draw_Rline_1() { QPainter painer(ui->label_rline_1); painer…
先贴上效果图,注意,没有写逻辑,都是乱动的 这里说一下控件自定义 图中标出的部分都是自定义的控件 这里如果我们有批量类似的功能,就可以使用自定义控件的方式,这里我已下面的自定义控件说一下,上面的在上一篇文章中已经有了代码了 选着项目,鼠标邮件,添加新文件 选择C++类,再选择C++ class 完了点击Choose就可以了 填写自己的类的名称,下面是你要自定义那个控件,一般就把那个控件作为基类,例如QLabel 记得要包好QObject,不然有好多Qt的功能是无法使用的 剩下的就是在类中实现你的…
先贴上效果图,注意,没有写逻辑,都是乱动的 这里讲下 这个小汽车的进入过程,其实这个说白了就没有技术含量了,本来应该趁着这个机会学习一下Qt的动画机制,不过随机一想,这个自己写也累不到那里去 下面说下实现方法 就是简单的绘制 使用QPainter绘制Pixmap就可以 实现代码 void Widget::draw_number_car() { QPainter painter(ui->label_numbre_2); painter.setRenderHint(QPainter::Antiali…
先贴上效果图,注意,没有写逻辑,都是乱动的 看下面的开始,开始的时候有一个带入的效果,这里有一个坑, 网上大部分都是调用下面这个函数 setWindowOpacity(); 但是,你会发现,在你的子窗口中调用这个函数的时候,根本就没有什么调吊用 所以,这里需要使用一个新的东西 这么写 statebar_opacity = new QGraphicsOpacityEffect(); ui->widget_statebar->setGraphicsEffect(statebar_opacity);…
先贴上效果图,注意,没有写逻辑,都是乱动的 看下最中心的指针旋转,这里使用的QPainter的绘制函数 要显示复杂的效果,需要分层 void Widget::draw_number_pointer() { QPainter painter(ui->label_numbre_1); painter.translate(204,204); painter.save(); painter.rotate(pointer_angle); QRect rect(-202,-200,408,408); QRe…
先贴上效果图,注意,没有写逻辑,都是乱动的 看下最上面的部分,有一些仪表图标在闪烁,如果一个一个写,也是可以实现的,不过感觉要累死的节奏 这里我写了一个我自己的Label,完了把把这些QLabel提升为自己的 在我自己的Label中实现了图标的1Hz闪烁 上实现代码 .H文件中内容 #ifndef MQLABEL_H #define MQLABEL_H #include <QObject> #include <QLabel> #include <QTimer> clas…
先贴上效果图,注意,没有写逻辑,所以这些都是乱动的 这里线主要说一下中间显示速度的显示制作的方式,在这里,自己专门写了一个数字的仪表 考虑的一般的汽车是没有办法把瞬时速度提升到四位数的,所以我这里就放了三位数,完了根据实时数据,更新这三个label的资源文件,在这个新的类中,只有一个函数,那就是设置数字 void set_number(int num = 0); 下面是实现方法,这个方法应该还可以优化,不过懒得优化了,先把功能堆出来. void Number_1::set_number(int…
MFC控件编程进度条编写 一丶进度条编程需要用到的方法 进度条MFC已经帮我们封装好类了. 叫做 CProgressCtrl  进度条编程也很简单. 封装的方法也就那个那几个. GetPos()  获取进度条位置 SetPos()   设置位置. GetRange(Value,Value) 获取进度条的最大跟最小的值. 等等.具体可以查询MSDN 在讲解之前.需要简单讲解下定时器以及按钮. 定时器: SetTimer() 设置定时器. 对话框相应 WM_TIMER消息即可. KillTimer(…
简述 在之前的章节中分享过关于QHeaderView表头排序.添加复选框等内容,相信大家模型/视图.自定义风格有了一定的了解,下面我们来分享一个更常用的内容-自定义进度条. 实现方式: 从QAbstractTableModel中设置对应的进度数据,因为我们需要显示进度条,而不是直接显示进度文本,所以原始的数据不需要直接显示在界面上,所以不需要使用Qt::DisplayRole,可以使用Qt::UserRole来代替. 委托QStyledItemDelegate中根据进度索引所对应的数据来获取进度…
当程序在执行一项(或多项)耗时比较久的操作时,界面总要有一点东西告诉用户“程序还在运行中”,那么,一个“没有终点”的进度条就是你需要的了.PS:最好把耗时的操作扔到一个子线程中去,以免他阻塞了界面线程,造成程序卡死的假象. 思路:程序很简单,一个进度条,一个定时器就足够了. 截图: 源代码: #include <QtCore> #include <QtGui> class WaitingDialog : public QDialog { Q_OBJECT private: int …
QProgressBar 进度条+QSplashScreen 启动界面 知识点: 1.进度条 #将进度条的最大值.最小值设置为相同时,产生跑马灯效果 self.progressBar.setMinimum(0) self.progressBar.setMaximum(0) 一些关于进度条的补充知识点: Qt提供了两种显示进度条的方式,一种是QProgressBar,另一种是QProgressDialog,QProgressBar类提供了种横向或纵向显示进度条的控件表示方式,用来描述任务的完成情况…
Xamarin iOS教程之进度条和滚动视图 Xamarin iOS 进度条 进度条可以看到每一项任务现在的状态.例如在下载的应用程序中有进度条,用户可以很方便的看到当前程序下载了多少,还剩下多少.QQ音乐播放器中也使用到了进度条,它可以让用户看到当前音乐播放了多少,还剩多少等.在Xamarin.iOS中也提供实现进度条的类,即UIProgressView. [示例2-23]以下将实现进度条加载的效果.具体步骤如下: (1)创建一个Single View Application类型的工程,命名为…
progressBar说明 在某些操作的进度中的可视指示器,为用户呈现操作的进度,还它有一个次要的进度条,用来显示中间进度,如在流媒体播放的缓冲区的进度. 一个进度条也可不确定其进度.在不确定模式下,进度条显示循环动画.这样的模式经常使用于应用程序使用任务的长度是未知的. XML重要属性 android:progressBarStyle:默认进度条样式 android:progressBarStyleHorizontal:水平样式 progressBar重要方法 getMax():返回这个进度条…
简述 QRoundProgressBar类能够实现一个圆形进度条,继承自QWidget,并且有和QProgressBar类似的API接口. 简述 详细说明 风格 颜色 字体 共有函数 共有槽函数 详细说明 主要有以下特性: 圆形进度条控件 高度可定制的 源码下载: Qt Circular Progress Bar Widget QRoundProgressBar下载 下载完后,进行解压缩,src目录里包含了两个主要的文件QRoundProgressBar.h和QRoundProgressBar.…
在QT中可以用QProgressBar或着QProgressDialog来实现进度条. QProgressBar的使用 首先在designer中拖一个按钮和进度条部件,按下面初始化 //补充:下面两句写在MainWindow的构造函数里进行初始化 ui->progressBar->setRange(0,50000-1);  ui->progressBar->setValue(0); 按钮的事件处理: void MainWindow::on_pushButton_clicked()…
本系列主要使用Qt painter来实现一些基础控件.主要是对平时自行编写的一些自定义控件的总结. 为了简洁.低耦合,我们尽量不使用图片,qrc,ui等文件,而只使用c++的.h和.cpp文件. 由于个人水平有限,学习Qt时间不长,所以代码中出现BUG,不够优雅以及有待改进部分,还请见谅和提出意见. 本项目所有代码在Qt5.10以上均测试通过,理论上Qt 5版本应该都支持. 本系列所有程序,已经放在了github的项目上,项目地址:https://github.com/LOMOoO/Custom…
一.正文 任务栏进度条是Windows7就引入的一种UI形式,通常用于显示软件当前正在执行的任务的进度(如编译程序的进度.下载任务的进度).如下: 在Qt中使用任务栏进度条也是非常容易的一件事情.Qt框架针对Windows提供了一个单独的模块WinExtras.这个模块中提供了一些类库和函数,用于实现Windows上特有的功能,如类型转换.句柄操作.窗口属性设置等.当然也包括了此次我们要说的任务栏进度条.那么就直接来看代码吧: #include "TaskbarProgress.h"…
一  关于模态设置 QProgressDialog可以设置模态(需要在new的时候传入parent),QProgressBar设置不好: 只有dialog可以设置模态,widget不能设置模态(QProgressBar继承自widget) 二  关于位置设置 子窗口要相对于父窗口设置合适的位置,父窗口在屏幕上移动,子窗口对应跟着改变大小与位置: 1 先设置子窗口的width与height,可以按父窗口的比例来: 2 然后以父窗口的左上角为原点计算子窗口的位置QPoint: 3 将2中的位置使用父…
/***************************************************************************** * Qt flash_eraseall nandwrite 进度条显示擦除.烧录 * 声明: * 当我们在 Linux shell中执行nand擦除.烧入程序时,我们可以通过终端查看 * 过程,但是有时候我们可能希望能够有个界面,这样会更直观的提供当前的程序 * 的执行状态,于是个人写了这个Demo,目前暂时使用. * * 2015-10-…
//默认构造函数 参数依次为,对话框正文,取消按钮名称,进度条范围,及所属 QProgressDialog *progressDlg=new QProgressDialog( QStringLiteral("正在保存......"), QStringLiteral("取消"),0,max,this); progressDlg->setWindowModality(Qt::WindowModal); //如果进度条运行的时间小于5,进度条就不会显示,不设置默认是…
Qt第三方圆形进度条的改进 要实现一个圆形的进度条功能,在网上找到一个比较出名的第三方封装类:QRoundProgressBar,地址:sourceforge 的 QRoundProgressBar 功能封装的还是不错,提供了3种模式,线形.圆环.饼状.使用过程中发现圆环进度条对背景透明支持不够完善,内圆的背景无法实现透明,为了解决此问题,下面对此控件进行了一些修订,实现完整的圆形进度条. QRoundProgressBar目前存在的不足 QRoundProgressBar在带背景图片widge…
目录 一.简述 二.动效进度条 1.光效进度条 2.延迟到达进度条 3.接口说明 三.启动图 1.实现思路 2.背景图切换 四.测试 1.构造启动图 2.背景图 3.其他信息 4.事件循环 五.源码 一.简述 最近接到一个新需求,让做一个动效进度条. 由于我们的产品比较大,在软件启动的时候会消耗比较长的时间,原生的进度条已经不能满足我们的需求,这里我们就需要一个会动的进度条,效果如下图所示. 光效进度条主要是做了一个进度动画,在已完成的部分上进行快速的迭代渲染,给用户一种直观感受,我们的软件一直…
一.ComboBox ComboBox,即下拉列表框,由一个列表框和一个标签控件(或编辑控件)组成.ComboBox 的下拉列表是使用 Menu 实现的,列表内的每个条目对应一个 Menultem. 弹出下拉列表框后,用户选择列表中的一个条目,此时 currentlndex.currentText 属性就会变化,同时 activated 信号也会发射. ComboBox 的 find() 方法用于查找列表中是否存在指定的字符串,对于可编辑的 ComboBox,向列表中添加条目时可以使用此方法来滤…
一.前言 我们在很多的安装包中,在安装过程中,经常可以在底部看到一个漂亮的进度条,上面悬浮着显示对应的进度,然后底部进度多种颜色渐变展示,Qt自带的进度条或者操作系统的进度条样式,不够炫,这次索性直接来个自定义绘制实现,至于是继承QWidget类还是QProgressBar类,都无所谓,如果是继承自QWidget类的话,就需要自己设置最大值最小值范围值,而继承自QProgressBar的话就可以直接用自带的函数来实现.这次编写的进度条,提示信息的背景色也是和下面的进度颜色完全一致跟着变化的. 二…
一.前言 现在web形式的图表框架非常流行,国产代表就是echart,本人用过几次,三个字屌爆了来形容,非常强大,而且易用性也非常棒,还是开源免费的,使用起来不要太爽,内置的各种图表和仪表盘等非常丰富,展现形式也是非常多样的. 本次要写的圆弧进度条,就是参考自echart中的一个圆弧进度条,主要结构就是外围一圈圆角进度,中间加上标题和对应进度的百分比,进度条的起始角度和结束角度可以自行调整,这样的话进度条的开口就可以在左边右边上边下边等任意位置,通过调整角度就能实现.绘制的核心就是drawArc…
一.前言 导航进度条控件,其实就是支付宝.京东.淘宝订单页面的进度控件,提示当前第几步,总共有几步,然后当前进度特殊颜色显示,每个进度带有时间文字等信息,本控件特意将三种样式风格都集成进去了,京东订单流程样式/淘宝订单流程样式/支付宝订单流程样式,可以动态切换样式,控件自适应任何分辨率,可以自由调整自身大小以适应分辨率的改变,总步骤以及当前步骤都是自动计算占用区域比例,直接提供接口设置步骤对应的文字信息等,接口非常友好. 二.实现的功能 1:可设置前景色/背景色/当前值前景色/当前值背景色 2:…
一.前言 在各种各样的执行任务界面,有时候需要比较多的时间,需要给出一个直观的等待进度条表示当前正在执行的进度,而不至于懵逼在那里,用户不会觉得程序死了还是干嘛了. 等待进度条有好几种办法,比如直接叫美工做好gif图,用QLabel配合QMovie来加载gif图片,这种方法最简单最省事,或者做好多张进度条的图片,采用定时贴图来实现,这些办法省事归省事,就是还不够灵活,写死了,比如有时候需要更换颜色或者换一种展示形式,又需要美工重新做图了,折磨的要死.当时在写这个等待进度条的时候,就有考虑到集成多…
前言 按钮进度条,顾名思义,表面上长得像一个按钮,单击以后切换成进度条指示按钮单击动作执行的进度,主要用在一些需要直接在按钮执行动作显示对应进度的场景,在很多网页中经常看到这种效果,这个效果有个优点就是直接在原地显示进度条,不占用其他位置,然后提供各种颜色可以设置.近期大屏电子看板程序接近尾声了,文章末尾贴出几张动图效果. 实现的功能 1:可设置进度线条宽度+颜色 2:可设置边框宽度+颜色 3:可设置圆角角度+背景颜色 效果图 头文件代码 #ifndef PROGRESSBUTTON_H #de…
前言 环形进度条,用来展示当前进度,为了满足大屏UI的需要特意定制,以前有个叫圆环进度条,不能满足项目需要,只能重新定做,以前的进度间距不能自适应分辨率,而且当前进度对应的反的进度不能单独设置颜色,即当前进度90%,剩余的10%也需要设置成不同的颜色,还有一个重要的功能是,能够指定多个警戒值,一旦超过或者小于该值,则当前进度自动切换到预先设定的警戒值颜色,而不需要用户自己去判断警戒值去设置警戒颜色,用户只需要传入当前值即可,这个功能非常实用,还可以设置警戒判断的标准是超过值还是小于值报警.个人感…