【QT】QT 随着数值变化的条形显示控件

最近做了一个小项目用到qt
因为有 之前搞图像处理的时候小小的用过qt
信号槽什么的 都比较 清楚
但这回界面要求比较高,做的是上位机 从单片机那里串口得到数值之后显示,要的是自己 搞得控件之后控件随着值存在一定的变化

其实 自己也查了很多资料,之前心思用QCustomPlot,但是 太大了,小的话 效果不好还是心思自己 来画一个吧,之后就遇到了各种坑,经历了 十个小时的战斗,终于 ok了,迫不及待给大伙们 分享一下。

首先要明白一下几点

  1. widget和Frame都是个容器,里面还可以放别的
  2. 控件的升级
  3. 控件升级之后怎么用相应的 .c 和.h
  4. 之后就是相应的操作了

如下:

  1. Widget 和frame都是可以从UI中拖出来的
    你拖哪个 主要取决于你的控件提升基于什么 此处 用的是Frame
    这里写图片描述

这里写图片描述

这里写图片描述

此处注意一定要 注意自己的QFrame 自己的定义控件的名称
此处将Frame 改为pss(这个地方我吃了大亏啊,看了好久bug,但是update之后UI就是不变,都知道进了paintEvent但是UI就是不变,还以为见了鬼了,后来才发现我一直操作的变量不是UI中的一直都是自己 定义的一个,所以就算是UI 重新画图了,但是 你没有把他放到UI中,而UI的变量是另一个,所以可以说的上是一直我都是把两个变量当成一个。。。很尴尬,此处听不懂看完下面的就懂了)
2. 提升
首先把.c .h 放到工程中去,上面的图里的已经是Frame 提升过得了 正常来讲应该右击 控件里面有提升为点开提升即可,把.c 和.h 的名称写上去此处不讲了参考
http://www.cnblogs.com/blfshiye/p/5179672.html

现在相当于准备工作做完了 就是提升好了也可以用UI的那个控件了

3.这里写图片描述
基本上就上面两个代码在mainwindow.cpp中
其他的在 .c .h中改的 自己添加函数和修改都可以
要注意的是 ui->pss->repaint(); 函数一定要引用,要不没啥用了,这个函数和update()函数差不多用哪个效果差不多,但网上说有差别,但我的这个控件差别不大
还有就是这个 控件的 UI更新最好用在一个SLOT中
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述

效果图

这里写图片描述

注释都有大家自己看咯。

以下这个是我自己随便写的一个比较简单的能看出刷新效果的程序

http://download.csdn.net/detail/qq_33431368/9834615

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值