Qt编写数据可视化大屏界面电子看板4-布局另存

一、前言

布局另存是数据可视化大屏界面电子看板系统中的额外功能之一,主要用于有时候用户需要在现有布局上做个微调,然后直接将该布局另存为一个布局配置文件使用,可以省略重新新建布局重新来一次大的调整的工作,此功能主要是用到了配置文件的保存,另存为一个不同名字的配置文件即可,属于非常简单的功能,在代码上来讲,其实Qt的配置文件类QSettings使用起来不要太方便,不仅支持WIN的注册表的读取写入,还支持跨平台的INI文件,说白了其实就是个文本文件,个人比较喜欢用INI文件作为配置文件,这样一方面跨平台,本人平时主要在嵌入式linux上做开发,INI文件是做好的选择。

二、电子看板介绍

电子看板是目视化管理的一种表现形式,即对数据的状况一目了然地表现,主要是对于管理项目,它通过利用形象直观而又色彩适宜的各种视觉感知信息来组织现场生产活动,目视管理依据人类的生理特征,在生产现场充分利用信号灯、标识牌、符号颜色等方式来发出视觉信号,鲜明准确地刺激人的神经末梢,快速地传递信息,形象直观地将潜在的问题和浪费现象都显现出来。以便任何人都可以及时掌握管理现状和必要的情报,从而能够快速制定并实施应对措施。因此,管理看板是发现问题、解决问题的非常有效且直观的手段,是优秀的现场管理必不可少的工具之一。

三、功能特点

  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)、基本配置参数

字段 描述 默认值
WorkMode 工作模式 timer-模拟数据 db-数据库采集 tcp-网络采集 http-post请求 timer
Title 软件标题,显示在软件中间顶部 数字化工厂信息中心
Ratio 分辨率,目前无意义 4096*216
Layout 布局方案,每次切换布局方案以后都会保存 完整布局
Theme 配色方案,每次切换配色方案以后都会保存 紫色风格
VideoAddr 视频流地址,视频模块播放的视频地址 凤凰卫视
AutoRun 是否开机启动 false
MoveEnable 模块是否可以拖动,启用以后模块可以任意拖动 true
CutLeftBottom 底部布局左侧是否切掉 true
CutRightBottom 底部布局右侧是否切掉 true
StaticLine 是否绘制静态定位线,为假则绘制游标十字线 true

(2)、颜色配置参数

字段 描述 默认值
ColorMainBg 主背景颜色 QColor(4, 7, 38)
ColorPanelBg 面板背景颜色 QColor(26, 29, 60)
ColorLine 十字线定位线颜色 QColor(255, 0, 0)
ColorLine1 线条1颜色 QColor(0, 176, 180)
ColorLine2 线条2颜色 QColor(32, 159, 223)
ColorLine3 线条3颜色 QColor(255, 192, 0)
ColorTitleBg 标题栏背景颜色 QColor(48, 48, 85)
ColorTitleText 标题栏文字颜色 QColor(255, 255, 255)
ColorChartBg 曲线图表背景颜色 QColor(38, 41, 74)
ColorChartText 曲线图表文字颜色 QColor(250, 250, 250)
ColorChartGrid 曲线图表网格颜色 QColor(180, 180, 180)
ColorOk 正常颜色 QColor(0, 176, 180)
ColorLow 警戒颜色 QColor(255, 192, 0)
ColorAlarm 报警颜色 QColor(214, 77, 84)
ColorDisable 禁用背景颜色 QColor(210, 210, 210)
ColorPercent 环形百分比背景颜色 QColor(0, 254, 254)

(3)、字体和尺寸配置参数

字段 描述 默认值
MainFont 全局字号 微软雅黑,12
NameFont 软件名称字号 19
LabFont 加粗标签字号 12
DeviceFont 设备面板字号 12
SubTitleFont 模块子标题栏字号 13
TitleFont 模块标题栏字号 15
TitleHeight 模块标题栏高度 23
HeadHeight 表格表头高度 28
RowHeight 表格行高度 25

(4)、采集速度配置参数,单位毫秒

字段 描述 默认值
IntervalModule1 模块1采集间隔 5000
IntervalModule2 模块2采集间隔 5000
IntervalModule3 模块3采集间隔 5000
IntervalModule4 模块4采集间隔 5000
IntervalModule5 模块5采集间隔 5000
IntervalModule6 模块6采集间隔 5000
IntervalModule7 模块7采集间隔 5000
IntervalModule8 模块8采集间隔 5000

(5)、本地数据库配置参数

字段 描述 默认值
LocalDBType 本地数据库类型,Sqlite、Mysql等 Mysql
LocalDBIP 本地数据库主机地址 127.0.0.1
LocalDBPort 本地数据库端口 3306
LocalDBName 本地数据库名称 bigscreen
LocalUserName 本地数据库用户名 root
LocalUserPwd 本地数据库密码,以密文存储 root

五、特别说明

  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. 可执行文件下载地址:https://pan.baidu.com/s/1o97IGvZgTgDhlkuXQa4B0w 提取码:r2bv ,会不定期更新程序,欢迎各位提出批评和建议。

六、效果图

七、核心代码

//type: 0-新建布局 1-恢复布局 2-保存布局 3-布局另存
void MainWindow::saveLayout(const QString &layout, int type)
{
    //如果为空则表示是恢复布局
    if (type == 0) {
        App::Layout = layout;
        this->changeLayout(App::Layout, true);
        return;
    } else if (type == 1) {
        this->changeLayout(App::Layout, true);
        return;
    }

    QString file = QString("%1/%2.ini").arg(App::LayoutPath).arg(layout);
    QSettings set(file, QSettings::IniFormat);
    set.beginGroup("MainWindow");
    set.setValue("State", saveState());
    set.endGroup();

    App::Layout = layout;
    App::writeConfig();
}

原文地址:https://www.cnblogs.com/feiyangqingyun/p/10867443.html

时间: 2024-10-05 07:33:49

Qt编写数据可视化大屏界面电子看板4-布局另存的相关文章

Qt编写数据可视化大屏界面电子看板3-新建布局

一.前言 能够新建布局,也是数据可视化大屏界面电子看板系统中的必备功能之一,新建布局这样的功能一般做到右键菜单中,单击新建布局菜单,弹出输入框要求输入新的布局的名称,为了更符合国情,直接支持中文名称,保存成配置文件直接中文名称命名,这样方便用户理解,Qt5以来对乱码的问题解决的就比较好了,不像Qt4时代稍不留神就乱码了,Qt5只要保证源码文件utf-8编码基本上就很少遇到乱码问题了.新建布局必须要有个默认的窗体排列,Qt中的dock窗体,默认布局会以窗体的sizehint作为大小参照标准,也不一

Qt编写数据可视化大屏界面电子看板13-基础版

一.前言 之前发布的Qt编写的可视化大屏电子看板系统,很多开发者比较感兴趣,也收到了很多反馈意见,纵观市面上的大屏系统,基本上都是B/S结构的web版本,需要在后台进行自定义配置模块,绑定数据源等,其中比较有名的就是阿里云的DataV和百度的Sugar,都是很不错的,DataV是阿里云出品的专业大屏数据可视化服务,旨在让更多的人看到数据可视化的魅力,帮助非专业的工程师通过图形化的界面轻松搭建专业水准的可视化应用,满足会议展览.业务监控.风险预警.地理信息分析等多种业务的展示需求.两者都可以通过拖

大数据可视化大屏设计经验,教给你!

 前言    大数据产业正在用一个超乎我们想象的速度蓬勃发展,大数据时代的来临,越来越多的公司开始意识到数据资源的管理和运用,大数据可视化大屏展示被更多的企业青睐,身为UI设计师的我们,也要紧跟时代的步伐学习这方面的设计. 今天要跟大家分享我一年多设计大数据可视化大屏的经验和观点,下面从UI设计.交互设计.动效设计三个方面来分享.  UI设计   设计大屏一样要谨记要以展示数据为核心,在任何炫酷屌炸天表现都要建立在不影响数据的有效展示上!   下图是天猫可视化大屏设计,图中屌炸天的3D地球围绕粒

2019主流的数据可视化大屏工具有哪些

数据可视化大屏已经是公认的最直观,最有效的信息传递方式,以前用Echarts等第三方组件做大屏开发的,会发现:尽管它们提供了许多的图表元件和JS代码,但是由于每个用户的需求都不一样,大屏开发仍然需要改很多代码,耗费不少时间.如今,更加主流的,是一些实用又好看的数据可视化大屏工具,本文就来详细介绍. 1.FineBI 目前是国内市场占有率第一的自助式BI工具,也是一款成熟的数据分析产品.内置丰富图表,不需要代码调用,可直接拖拽生成.可用于业务数据的快速分析,制作dashboard,也可构建可视化大

基于echarts组件制作数据可视化大屏

什么是数据可视化:数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息.在实际工作中,数据分析能够帮助管理者进行判断和决策,以便采取适当策略与行动. 数据可视化分析有什么作用:1.现状分析告诉你过去发生了什么,告诉你企业现阶段的整体运营情况,通过各个经营指标的完成情况来衡量企业的运营状态,以说明企业整体运营是更好了还是坏了,好的程度是如何,坏的程度又到哪里. 2.原因分析告诉你某一现状为什么发生,经过第一阶段的现状分析,我们对企业的运营情况有了一个基本的了解,但是不知道运营情况具体好在哪

干货!手把手教你快速使用数据可视化BI软件创建旅游数据监测大屏

灯果数据可视化BI软件是新一代人工智能数据可视化大屏软件,内置丰富的大屏模板,可视化编辑操作,无需任何经验就可以创建属于你自己的大屏.大家可以在他们的官网下载软件. 本文以旅游数据监测大屏为例为大家演示如何在软件提供的模板基础上修改大屏. 首先我们点击我的项目页面上的新建大屏. 然后在模板中心里面选择医院数据实时展示大屏. 选中这个大屏之后,将鼠标移动到大屏上回出现一个提示按钮,提示大家是否立即使用此大屏,点击“立即使用”按钮就可以操作此大屏. 然后我们可以在这个界面上进行操作,页面上不同工具栏

BI大数据智能可视化大屏分析系统建设软件开发

要建设企业级大数据可视化分析系统,需要构建企业统一的数据库体系或者直接将已有数据库对接.进行数据建模,为数据分析可视化呈现奠定基础.通过数据分析管理系统,有了数据基础,就可以构建BI大数据智能可视化大屏分析,满足企业的业务需求,提升数据价值. BI大数据智能可视化大屏分析系统建设软件开发的技术实现: 1.Hadoop:使用 hadoop作为系统的基础框架,对数据进行分布式的存储和分析.HDFS是 hadoop提供的分布式存储系统,它对体积巨大的数据切分成多个小块存储的不同的节点,每个块又做了多个

Qt编写大数据大屏UI电子看板系统

前言 目前大屏大数据可视化UI这块非常火,趁热也用Qt来实现一个,Qt这个一站式超大型GUI超市,没有什么他做不了的,大屏电子看板当然也不在话下,有了QSS和QPainter这两个无敌的工具组合,借用几个Qt高手朋友的话来说,都是分分钟.在整个系统的编写过程中,发现数学知识真的还是蛮重要的,在重要的几个算法点上,需要多次用到二元一次方程才能搞定几个算法,比如如何分组绘制柱状图. 电子看板介绍 电子看板是目视化管理的一种表现形式,即对数据的状况一目了然地表现,主要是对于管理项目,它通过利用形象直观

HTML_后台框架全屏界面_fixed形式布局

<!DOCTYPE html> <html> <head>  <meta charset="UTF-8">  <title>Document</title>  <style>   html, body {    width:100%;    height:100%;    padding: 0;    margin: 0;    background-color: #f3f3f3;    font-fa