当前位置:

首页 > 软件教程 > Qt数据看板布局另存方法详解

Qt数据看板布局另存方法详解

一、前言布局另存功能是数据可视化大屏界面电子看板系统中的一项便捷功能,旨在帮助用户在现有布局上进行微调后,直接将其保存为新的配置文件,从而避免从头开始重新构建布局的繁琐过程。此功能依赖于配置文件的保存机制,通过将现有布局另存为不同名称的配置文件,用户可以轻松管理和切换不同的布局设置。在代码实现上,Qt的QSettings类提供了极大的便利,不仅支持Windows注册表的读写操作,还支持跨平台的INI文件格式。个人而言,我更倾向于使用INI文件作为配置文件,因为其跨平台特性特别适合我在嵌入式Linux环境下

本文目录

    一、前言

    布局另存功能是数据可视化大屏界面电子看板系统中的一项便捷功能,旨在帮助用户在现有布局上进行微调后,直接将其保存为新的配置文件,从而避免从头开始重新构建布局的繁琐过程。此功能依赖于配置文件的保存机制,通过将现有布局另存为不同名称的配置文件,用户可以轻松管理和切换不同的布局设置。在代码实现上,Qt的QSettings类提供了极大的便利,不仅支持Windows注册表的读写操作,还支持跨平台的INI文件格式。个人而言,我更倾向于使用INI文件作为配置文件,因为其跨平台特性特别适合我在嵌入式Linux环境下的开发工作。

    二、电子看板介绍

    电子看板是一种目视化管理工具,通过直观、色彩鲜明的视觉信息展示数据状态,主要用于项目管理。它利用信号灯、标识牌、符号颜色等视觉信号,在生产现场快速传递信息,清晰地呈现潜在问题和浪费现象,使任何人都能及时了解管理现状并采取相应措施。因此,电子看板是发现和解决问题的有效工具,也是现场管理中不可或缺的组成部分。

    三、功能特点

    整体界面分为三级:一级界面为总体布局,二级界面为单个功能模块,三级界面为单个控件。子控件种类丰富,包括饼图、圆环图、曲线图、柱状图、分组柱状图、横向柱状图、横向分组柱状图、合格率控件、百分比控件、进度控件、设备状态面板、表格数据、地图控件、视频控件等。二级界面支持拖动、悬浮、缩放、关闭,并响应双击自定义标题栏。数据源支持数据库采集(默认)、网络通信、网络请求等,用户可自由设置每个子界面的数据刷新频率。系统采用纯QWidget编写,兼容Qt4.6至Qt5.12.3所有版本,适用于嵌入式Linux平台如树莓派、香橙派、全志、imx6等。提供三种内核版本:自定义控件版本、qchart版本和echart版本。内置多套配色风格,默认紫色,支持所有分辨率。用户可设置标题、目标分辨率、布局方案,并在启动时立即应用。支持设置主背景色、面板色、十字线游标色、曲线颜色(未设置时随机应用15套精美颜色)、标题栏背景色及文字色、曲线图表背景色及文字色、网格色、正常色、警戒色、报警色、禁用色、百分比进度色等。还可设置各种字体大小,如全局、软件名称、标题栏、子标题栏、加粗标签等,以及标题栏高度、表头高度、行高度。曲线图支持游标、悬停高亮数据点和显示值,柱状图支持顶部显示数据(可设置顶端、上部、中间、底部),位置自适应计算。主界面通过右键菜单可切换布局、配色方案、关闭或开启二级窗体。系统自动记忆所有子窗口的大小和位置,并在下次启动时立即应用。用户可动态加载布局方案菜单,进行新建、恢复、保存、另存布局等操作,自由创建任意布局。二级窗体可通过双击从主窗体分离并浮动,自由调整大小,再次双击标题栏可最大化,再次双击可还原。每个模块均可自定义采集速度,数据库采集时自动排队处理。

    五、特别说明

    可执行文件同级文件夹包含layout、layout_1440、layout_1920三个文件夹,程序会自动识别分辨率并加载相应的布局文件夹,如1920分辨率时从layout_1920文件夹加载布局作为整体布局。默认使用模拟数据,如需从数据库采集数据,请将配置文件中的WorkMode设置为db。如果布局拖动出现混乱,可通过鼠标右键选择恢复布局。在保存布局之前,中间地图模块的鼠标右键可弹出菜单,切换布局和配色方案等。在模块的标题栏上右键可弹出默认的dock菜单,用于显示和隐藏各模块。软件关闭过程中会自动保存布局,下次启动时自动应用。如果使用默认的配色方案如紫色风格,配置文件中的颜色设置将无效,系统会自动应用代码中的颜色。如需启用自定义颜色,请将配置文件中的Theme设置为自定义风格,打开软件时将应用配置文件中的颜色。右键菜单可截图保存,文件默认命名为“配色方案名称_布局方案名称.png”,保存在snap目录下。如果使用XP系统,请先执行fixff.cmd修复ffmpeg在XP上的BUG。

    六、效果图

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

    七、核心代码

    代码语言:txt

    //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();
    }
    本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系bd@zhengruan.com
    作者最新文章
    软件教程
    相关文章 更多
    .NET 获取图片宽高方法及性能对比
    .NET 获取图片宽高方法及性能对比

    在.NET框架中获取图片宽高有多种方法,本文将详细介绍四种方法,并对其性能进行评估。如果您需要处理大量图片,这些信息将非常有用。本文将评估以下四种方法来获取图片的宽高:System.Drawing.Imaging.Metafile不要误以为Metafile是图片的元数据,它实际上是微软Windows系统的一种图片格式,如WMF和EMF(WindowsMetafile和EnhancedMetafile)。虽然它可以读取其他格式的图片,但不适合通过读取元数据头来提升性能。varheader=Meta

    VS Code基础操作教程详解
    VS Code基础操作教程详解

    如何彻底卸载VSCode并清除所有用户数据?要实现此目的,您需要删除与VSCode相关的用户数据文件夹Code和.vscode。这样可以使您的系统恢复到安装VSCode之前的状态。如果您不打算卸载VSCode,也可以通过删除这些文件夹来重置所有设置。不同操作系统下的文件夹路径如下:Windows:删除%APPDATA%\Code和%USERPROFILE%\.vscode。macOS:删除$HOME/Library/ApplicationSupport/Code和~/.vscode。Linux:

    死磕 IO 流?你磕对了吗
    死磕 IO 流?你磕对了吗

    在日常开发中,我们经常会接触到IO流,例如在处理文件上传下载、数据传输以及设计模式等方面。IO流是这些操作的基础,因此今天我们将深入探讨Java中IO流的相关知识点。本文将涵盖以下主要内容:文件对象流概述字节流与字符流文件对象与文件路径Java标准库java.io提供了File对象,用于操作文件和目录。通过File对象,我们可以将文件和目录封装成对象。构造File对象时,需要提供文件或目录的路径名,常用的构造方法如下:方法描述File(StringpathName)通过给

    PCIe中断驱动寄存器被覆盖问题排查与修复
    PCIe中断驱动寄存器被覆盖问题排查与修复

    在Windows环境下使用WDF框架开发PCIe驱动的DMA读写功能时,启动一次DMA传输需要两个步骤:初始化DMA传输对象:在初始化DMA传输对象时,应将本次DMA传输的数据缓冲区的地址和长度写入该对象,并向其注册用于配置并启动DMA传输的回调函数PCIeEvtProgramWriteDma。该回调函数会获取缓冲区地址和长度,通过PIO方式配置PCIeBar空间上的寄存器,以通知硬件启动DMA传输。执行DMA传输:在执行DMA传输时,驱动仅需调用WDF框架的WdfDmaTransactionExecu

    Pytest跳过用例技巧:skip与skipif详解
    Pytest跳过用例技巧:skip与skipif详解

    如果你还想从头学起Pytest,可以看看这个系列的文章哦!https://www.cnblogs.com/poloyy/category/1690628.html前言可以标记无法在某些平台上运行的测试功能,戒者您希望失败的测试功能pytest.mark.skip希望满足某些条件才执行某些测试用例,否则pytest会跳过运行该测试用例实际常见场景:跳过非Windows平台上的仅Windows测试,或者跳过依赖于当前不可用的外部资源(例如数据库)的测试@pytest.mark.skip跳过执行测试用例,有

    Qt输入法V2019项目作品分享
    Qt输入法V2019项目作品分享

    一、功能特点本输入法未采用Qt系统层输入法框架,而是采用了独创的输入切换机制。完全基于QWidget编写,适用于任何目标平台(已测试Windows、Linux、嵌入式Linux等),兼容任意Qt版本(已测试从Qt4.6.0到Qt5.13),支持任意编译器(已测试mingw、gcc、msvc等),并能在任意控件中输入,包括网页中的输入控件。调用非常方便,只需在pro文件中包含pri文件,例如:include($$PWD/input2019/input2019.pri)。界面设计简洁明了,UI美观友好,模仿I

    MySQL解压版Windows安装教程
    MySQL解压版Windows安装教程

    MySQL解压版如何在Windows系统中安装1、请将压缩包中的软件包解压出来,并复制到所要安装的路径下面。2、在安装路径下面软件包内新建两个文件,data目录和my.ini文件。3、在my.ini内更改安装位置,注意版本,文件已放置于压缩包中。代码语言:javascript代码运行次数:0运行复制[client]port=3306default-character-set=utf8[mysqld]#设置mysql的安装目录basedir=E:\MySQL\mysql-5.7.26-winx64#设置

    报错:缺少 Microsoft.ReportViewer.Common 11.0.0.0 解决方法
    报错:缺少 Microsoft.ReportViewer.Common 11.0.0.0 解决方法

    在开发WinForm客户端软件时,使用rdlc进行报表生成并通过ReportViewer展示报表时,开发者的机器上运行正常,但部署到第三方机器上时可能会遇到以下几种错误:(1)未能加载文件或程序集“Microsoft.ReportViewer.Common,Version=11.0.0.0,Culture=neutral,PublicKeyToken=89845dcd8080cc91”或它的某一个依赖项。系统找不到指定的文件。文件名:“Microsoft.ReportViewer.Common,V

    NTLM协议工作原理详解
    NTLM协议工作原理详解

    NTLM协议在WindowsNT和Windows2000Server(或更高版本)的工作组环境中使用(Kerberos用于域模式下)。在AD域环境中,若需要验证WindowsNT系统,必须使用NTLM。与Kerberos相比,NTLM认证过程更为简单。NTLM采用挑战/响应(Challenge/Response)消息交换模式,以下是NTLM的认证流程:NTLM认证协议可用于多种协议中,例如HTTP、SMB等。以下通过HTTP协议来说明其具体认证流程:首先,

    Windows 8配置Eclipse与Hadoop2.2.0环境指南
    Windows 8配置Eclipse与Hadoop2.2.0环境指南

    图文详解如何在Windows8.0上的Eclipse4.4.0中配置CentOS6.5上的Hadoop2.2.0开发环境,供有需要的朋友参考学习。Eclipse的Hadoop插件下载地址:https://github.com/winghc/hadoop2x-eclipse-plugin下载压缩包后,解压并将hadoop-eclipse-kepler-plugin-2.2.0.jar文件放置到Eclipse的dropins目录中,重启Eclipse即可。进入Windows->Prefere

    查看更多
    精品专题 更多
    装机必备
    装机必备

    正软商城装机必备专区,精选办公、浏览器、安全防护、影音播放、压缩解压、设计创作和系统工具等电脑常用正版软件,帮助用户快速完成新电脑软件配置。

    Windows
    Windows

    正软商城Windows软件专区,汇集适用于Windows电脑的办公、设计、安全防护、影音播放、开发工具和系统优化软件,提供软件介绍、系统要求、正版授权及购买下载服务。

    PDF教程
    PDF教程

    正软商城PDF教程频道提供PDF编辑、转换、合并、拆分、压缩及格式处理方法,同时介绍常用PDF软件和工具的使用技巧。

    Mac软件 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    Aperty macOS版
    Aperty macOS版
    macOS

    Aperty 是 Skylum 推出的 AI 人像修图软件,支持自然肤质修饰、瑕疵处理、面部与身体调整、预设及批量同步。

    WINDOWS 更多
    讯飞智作 网页版
    讯飞智作 网页版
    Windows/ macOS/ Linux

    讯飞智作是一款基于语音合成技术、虚拟人驱动技术与数字人形象声音构建能力的 AI 数字人音视频创作平台。

    火山引擎 网页版
    火山引擎 网页版
    Windows/ macOS/ Linux

    火山引擎是字节跳动旗下企业级云与AI服务平台。聚焦大模型核心能力,依托字节自研豆包多模态大模型,凭借火山方舟一站式平台,提供模型精调、推理部署、智能应用搭建等全链路服务,结合高性能AI算力,助力各行业快速落地大模型数字化与智能化应用。

    PixTV 网页版
    PixTV 网页版
    Windows

    PixTV 是一款在浏览器中使用的 AI 视觉内容创作平台,提供图片、视频、音频、文字生成、AI 分镜、局部重绘、提示词反推和无限画布等工具,适合短剧、漫剧、广告及社交媒体内容制作。