Qt编写数据可视化大屏界面电子看板9-曲线效果
一、前言
为了编写数据可视化大屏界面电子看板系统,为了能够兼容Qt4和嵌入式linux系统,尤其是那种主频很低的,但是老板又需要在这种硬件上(比如树莓派、香橙派、全志H3、imx6)展示这么华丽的界面时,就必须用最传统的painter方法来实现所有的控件了,一开始使用的QChart来实现各个子控件,在使用过程中发现比较鸡肋,个人感觉QChart是所有的子模块中源码写的最烂的,本人把QChart的源码看了一遍,比如饼图控件,居然放置一个label用来显示对应的文字描述,都懒得用painter去绘制,而且还有大量的类型转换,这个就效率大大降低了,虽然效果上挺好的,比如继承自QAnimation类自定义的chart动画类,还有个整体换肤的,但是在大量数据展示的时候,卡的一逼,比QWT和QCustomPlot差很远,本人看过QCustomPlot的源码,尽管就一个文件,(其实作者那边肯定是多个文件的,只不过发布的时候合并成一个文件发布的,毕竟这样对于用户来说使用还是很方便的,就是阅读不方便,毕竟大部分人用来是直接使用的而不是研究代码的。)但是里边的代码质量非常好非常高,本人特别推崇用QCustomPlot来展示曲线和柱状图等,效率很高,本人亲自试过最大展示50W数据点,还可以。据朋友所说,可能QWT质量还要更高,我没有研究过QWT的源码,不予置评,估计有可能是的。
在整个数据可视化大屏界面电子看板系统中,自定义出来的曲线效果包括鼠标移动到对应数据点高亮显示,并在一旁弹出tootip提示信息显示更详细的数据,这个提示信息的位置还要能根据点的位置自动调整以便显示全部,比如左侧第一个点,提示信息最好在右侧,右侧最后一个点,提示信息最好在左侧,这样就比较人性化了。同时还提供游标十字线来跟随鼠标移动,或者提供一个固定的线条作为标识数据,比如警戒线。
二、电子看板介绍
电子看板是目视化管理的一种表现形式,即对数据的状况一目了然地表现,主要是对于管理项目,它通过利用形象直观而又色彩适宜的各种视觉感知信息来组织现场生产活动,目视管理依据人类的生理特征,在生产现场充分利用信号灯、标识牌、符号颜色等方式来发出视觉信号,鲜明准确地刺激人的神经末梢,快速地传递信息,形象直观地将潜在的问题和浪费现象都显现出来。以便任何人都可以及时掌握管理现状和必要的情报,从而能够快速制定并实施应对措施。因此,管理看板是发现问题、解决问题的非常有效且直观的手段,是优秀的现场管理必不可少的工具之一。
三、功能特点
1. 整体总共分三级界面,一级界面是整体布局,二级界面是单个功能模块,三级界面是单个控件。
2. 子控件包括饼图+圆环图+曲线图+柱状图+柱状分组图+横向柱状图+横向柱状分组图+合格率控件+百分比控件+进度控件+设备状态面板+表格数据+地图控件(包括动态闪烁点+迁徙图等)+视频控件+其他控件等。
3. 二级界面可以自由拖动悬浮,支持最小化最大化关闭,响应双击自定义标题栏。
4. 数据源支持数据库采集(默认)、网络通信、网络请求等,可自由设定每个子界面的采集间隔即数据刷新频率。
5. 采用纯QWidget编写,支持Qt4.6到Qt5.12.3任何版本,支持嵌入式linux比如树莓派、香橙派、全志、imx6等。
6. 提供三个内核版本,自定义控件版本+qchart版本+echart版本。
7. 内置多套配色风格样式,默认紫色,支持任何分辨率。
8. 可设置标题+目标分辨率+布局方案,启动立即应用。
9. 可设置主背景颜色+面板颜色+十字线游标颜色。
10. 可设置多条曲线颜色,没有设置颜色的情况下内置15套精美颜色随机应用。
11. 可设置标题栏背景颜色+文字颜色。
12. 可设置曲线图表背景颜色+文字颜色+网格颜色。
13. 可设置正常颜色+警戒颜色+报警颜色+禁用颜色+百分比进度颜色。
14. 可分别设置各种字体大小,比如全局+软件名称+标题栏+子标题栏+加粗标签等。
15. 可设置标题栏高度+表头高度+行高度。
16. 曲线支持游标+悬停高亮数据点和显示值,柱状图支持顶部(可设置顶端+上部+中间+底部)显示数据,全部自适应计算位置。
17. 主界面直接鼠标右键切换布局+配色方案+关闭开启某个二级窗体。
18. 自动记忆所有子窗口的大小和位置,下次启动立即应用。
19. 动态加载布局方案菜单,可以动态新建布局、恢复布局、保存布局、另存布局等,用户可以制造任意布局。
20. 二级窗体,双击从主窗体分离出来浮动,可以自由调整大小。再次双击标题栏最大化,再次双击还原。
21. 每个模块都可以自定义采集速度,如果是数据库采集会自动排队处理。
五、特别说明
1. 可执行文件同级文件夹有layout+layout_1440+layout_1920,程序默认自动识别分辨率并加载对应的布局文件夹,比如1920分辨率则从layout_1920文件夹加载布局,并作为整体布局文件夹。
2. 程序默认是模拟数据,如果需要从数据库采集则修改配置文件WorkMode=db即可。
3. 如果发现布局拖动乱了,可以直接鼠标右键选择恢复布局即可,在保存布局以前。
4. 在中间地图模块鼠标右键可以弹出菜单,切换布局和配色方案等。
5. 在模块的标题栏上右键可以弹出默认的dock菜单,用来显示和隐藏各模块。
6. 软件关闭过程中会自动保存布局,下次启动以后自动应用。
7. 如果使用的默认的默认的配色方案比如紫色风格,则配置文件中的颜色全部无效,会自动应用代码中的颜色,如果需要启用自定义的颜色,则将配置文件的 Theme=\x81ea\x5b9a\x4e49\x98ce\x683c 即可。此时打开软件会应用配置文件中的颜色。
8. 右键菜单可以截图保存,默认命名为 配色方案名称_布局方案名称.png 保存在snap目录下。
9. 如果是XP系统请先执行fixff.cmd,用来修复ffmpeg在XP上不可用的BUG。
10. 在二级窗体的标题栏上右键弹出模块菜单,可以对单个模块打开关闭,其他地方右键全局菜单。
11. 会不定期更新程序,欢迎各位提出批评和建议。
六、效果图
用Qt实现电压数据的实时曲线(一)
使用Qt实现电压数据的实时曲线,可以按照以下步骤进行操作:
在Qt中创建一个新的GUI应用程序项目。在主窗口中添加一个绘图区域,用于显示电压数据的实时曲线。可以使用Qt提供的QCustomPlot库或者Qt自带的绘图功能进行绘制。创建一个线程或者定时器,用于模拟电压数据的实时更新。在线程或者定时器的回调函数中,生成随机的电压值(或者通过其他方式获取真实的电压值),并将这些数据传递给绘图区域进行更新。在绘图区域的绘制函数中,根据接收到的电压数据,将其绘制成实时曲线。可以使用直线、曲线、点等元素来表示曲线。根据需要,可以添加坐标轴、网格线等辅助元素,以增强曲线的可读性。编译并运行程序,即可看到电压数据的实时曲线在绘图区域中显示出来。需要注意的是,以上只是一个简单的实现示例,具体的实现方式还取决于实际需求和Qt版本。可以根据自己的需要进行相关的扩展和修改。另外,在开发过程中,还需要注意线程安全和性能等方面的问题,以确保程序的稳定和流畅运行
相关问答
qt-pcr技术是检测什么?
所谓real-timeQ-PCR技术,是指在PCR反应体系中加入荧光基团,利用荧光信号累积实时监测整个PCR进程,最后通过标准曲线对未知模板进行定量分析的方法。利用荧光...
qt导入数据后无法拟合曲线?
确保数据格式正确,没有缺失值或异常值。如果数据有问题,可能导致拟合曲线失败。拟合函数问题:确保你使用的拟合函数适用于你的数据。如果你使用的函数不正确,...
心电图ST异常是不是心脏病如何治疗_千问健康
平时没有什么症状体检时发现。问一下ST异常是什么病严重不严重需要怎样治疗
【数学建模中shadinginterp是什么意思】作业帮
[回答]很多啊,微分方程,求函数解,画各种曲面曲线图形等等例:椭球面:acos(m)sin(n),bsin(m)sin(n),csin(n).单叶双曲面:acos(m)sec(n),bsin(m)sec(n)...
如何服用拜复乐_千问健康
今天早上服用了罗红霉素现在能不能服用拜复乐还是等到明天早上服用比较好.谢谢!拜复乐在什么时候吃比较好!我现在这样能否服用。
C++做界面开发方便吗?
在C++中进行界面开发相对来说不太方便,因为C++并不是专门用于界面开发的语言,需要借助一些第三方库来实现。虽然有许多可用的GUI库(如Qt、MFC等),但它们的学...
PC是什么的简写?-roTQt9ASo的回答-懂得
其实译手遮天已经答得近乎完美了,可是我还想到了一些~~~~pitchcircle-轮齿的节圆pointofcurve-曲线起点pettycash-零用钱pricecurrent-时价表peacec.....
染色体异常能生小孩吗?对孩子有什么影响?
在临床应用中,准父母染色体异常是做第三代试管婴儿的最常见原因之一,因为一旦父母染色体出现问题就很容易导致胚胎不着床、流产、胎停育,甚至会造成携带有遗传...
kde与gnome的区别是什么?
1、KDE与GNOME项目拥有相同的目标,就是为Linux开发一套高价值的图形操作环境,两者都采用GPL公约发行,不同之处在于KDE基于双重授权的Qt,而GNOME采用遵循GPL的...
ks10是什么软件?
keyshot10是一款超棒超级出色的电脑3D动画渲染器软件,这款软件中的独特3D视觉效果都让用户们更加的喜爱哦,且用户们还能够进行图像的实时预览等keyshot10特性...