收藏 分销(赏)

一种教员控制台动态界面设计.pdf

上传人:自信****多点 文档编号:3147279 上传时间:2024-06-20 格式:PDF 页数:3 大小:1.20MB
下载 相关 举报
一种教员控制台动态界面设计.pdf_第1页
第1页 / 共3页
一种教员控制台动态界面设计.pdf_第2页
第2页 / 共3页
一种教员控制台动态界面设计.pdf_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、中国科技信息 2024 年第 9 期CHINA SCIENCE AND TECHNOLOGY INFORMATION May.2024-96-三星推荐项目背景教员控制台软件系统是模拟器的总控制台,实现集管理、训练、监控、评估和讲评于一体的综合控制台,为教员提供舒适的人机交互平台,具有设置及控制功能、显示监控功能、讲评回放功能及数据传输功能。此外软件提供对模拟器的控制和监视功能,形成显示页面、显示数据,并把控制输入的标志或数据传送给主控仿真节点。软件设计具有人机界面友好,操作方便,符合软件工程规范,软件功能完备,系统维护方便,软件易于升级等特点。当前大多数教员控制台软件的开发模式采用的是代码编写

2、实现人机交互界面,并在界面代码中嵌入软件的业务逻辑功能。此种开发模式未能够实现界面及软件功能的解耦分离,不符合软件工程中“高内聚低耦合”的编码原则,该模式下开发的教员控制台软件在应用过程中将存在以下问题。飞行训练模拟器需要适应型号任务快速交付迭代的要求,需求变更频繁;界面布局在代码中固定,变更需要修改代码,重新编译;无法为用户提供个性化界面配置服务,无法根据训练需要配置界面;对于新加入的控件无法动态更新,需要修改代码,重新编译。解决方法针对上述问题和可用条件,本文提出了一种基于UiTools 动态界面布局的设计与实现方法,该方法可应用于飞行训练模拟器教员控制台软件系统的界面实现中。动态界面技术

3、实现了以静态界面配置文件为输入通过界面解析器实现界面的动态生成,通过分析界面布局信息形成参数化的界面配置文件,对照界面配置文件采用了类反射技术实现控件元素的渲染,并在控件生成过程中匹配事件监听实现控件的业务逻辑功能。该方法采用了 QtUiTools 技术依据 XML 文件实现软件界面的动态布局功能,实现了动态布局教员控制台软件系统界面,界面布局具有灵活化、动态化、个性化的特点,具有较高的自由度。同时该技术的应用能够使得教员控制台软件更好地适应型号任务快速交付迭代的要求。功能特点及关键技术分析功能特点教员管理软件是教员控制台的核心。教员管理软件设计具有人机界面友好,操作方便,符合软件工程规范,软

4、件主要功能完备、正确,系统维护方便,软件易于升级等特点。行业曲线开放度创新度生态度互交度持续度可替代度影响力可实现度行业关联度真实度陈 昊中国直升机设计研究所陈昊(1992),信息技术部,设计员,主要研究方向:计算机技术、软件开发。一种教员控制台动态界面设计陈 昊-97-CHINA SCIENCE AND TECHNOLOGY INFORMATION May.2024中国科技信息 2024 年第 9 期三星推荐教员控制台系统作为模拟器和教练员之间的人机交互窗口,具有良好的界面交互功能,能够方便快捷地对模拟器其他分系统进行操作,同时教员控制台系统的一个质量要求是具备可重用性和可扩展性。关键技术分

5、析为了满足教员控制台软件的功能特点,同时实现快速响应型号任务快速交付迭代的要求,本文以通过类发射技术以界面配置文件为输入动态创建生成软件系统界面,下面分别对类反射技术及 XML 异构技术进行分析。XML:XML 是标记语言。标记是计算机能够理解的信息符号,通过它计算机能够处理包含各种类型信息的文件。XML 旨在传输和携带信息,而不是表示和显示数据。使用XML 语言主要用于表示和加载数据的含义,定义信息的绘制方式、文件或网络信息的描述以及软件参数设置的说明。类反射机制:反射的概念由 Smith 在 1980 年提出,主要指程序访问、检测和修改自身状态或行为的能力。在计算机科学领域,反射是指能够自

6、我描述和控制的应用程序。这种类型的应用程序可以使用机制来描述和监视自己的操作,并可以调整或修改与应用程序所描述的行为状态相关联的语义。反射的功能:1)可用于动态创建实例类型,将类型绑定到现有对象,或从现有对象中检索类型。2)应用程序需要在运行时从特定程序集中加载某些类型,以使用反射执行任务。3)反射主要应用于类库,类库需要知道类型的定义才能提供更多的功能。技术实现构建控件库根据控件的定义和封装程度,可以将控件分为基本控件、扩展控件和辅助控件三类。首先按照项目需求定义控件的功能结构,然后开发基本控件库和辅助控件库,之后根据实际项目需求完成扩展组件的开发。系统设计实现了文本输入框、按钮、文本显示框

7、等基本控件,以基本控件为基础绑定接口配置文件中的参数实现参数输入/输出控件、二位曲线图、故障设置按钮等扩展控件,此外系统还设计了教员控制台软件内部逻辑的模式切换、科目控制、故障控制、录制回放按钮等辅助组件,最终将这些控件应用在前端界面组装形成用户界面,其结构如图 1 所示。创建初始化界面文件QtUiTools 为软件开发人员提供了一种在运行时使用QUILoader 类对 XML 形式的 UI 文件进行处理分析的功能,对于用户界面的设计,主要集中在 UI 文件的数据格式上,采用 XML 可扩展编辑语言,依据设置好的规则,可以灵活的动态生成初始界面。在系统的日常运作中,QUILoader 类发挥着

8、至关重要的作用。它如同系统与用户界面之间的桥梁,深入解析界面XML 文件的每一层结构,将其中的指令和数据转化为实实在在的用户界面元素。从主体 widget 的构建到主体布局的设定,再到内部复杂布局结构的梳理,QUILoader 都展现出了出色的解析和生成能力。它确保每一个控件都严格按照XML 文件的描述来生成,从而保证了用户界面的高度完整性和一致性。不仅如此,QUILoader 的高效工作还大大提升了系统界面生成的灵活性和响应速度。无论 XML 文件如何变化,系统都能依靠 QUILoader 快速、准确地更新用户界面,为用户提供更加流畅、更加优质的交互体验。界面格式解析规则如图 2 所示。实现

9、界面编辑功能实现控件拖拽功能为了提升用户体验,在界面编辑界面实现控件拖拽进行控件编辑功能。界面控件的拖拽布局是一种直观的操作方法,可在一个应用程序或多个应用程序之间传输控件布局信息。该功能实现主要基于bool QObject:eventFilter(QObject*watched,QEvent*event)函数,并在此基础上实现通用移动类,该功能的实现目标是支持拖动鼠标并将其拖动到容器中或父级中。通用移动类的功能实现了监听加入监听控件列表的所有控件的事件,支持鼠标在容器中或者父类中拖动。该功能的实现方式分为以下三步。将需要监控的控件加入监控列表,并绑定监听事件;根据需求设置仅支持鼠标左键拖拽;

10、根据鼠标拖拽位置实现控件在布局中的自动填充。系统实现了控件的监听绑定,在界面编辑功能启用后监测鼠标操作相关事件,在识别到鼠标左键按压事件后会记录控件的初始位置,在鼠标按键释放时识别布局坐标,同时创建对应的控件进行布局填充,该功能的实现方式示意图如图3 所示。界面布局保存在完成界面编辑后,需要将界面布局保存至 XML 文件中。通过读取界面布局信息,依据 UI 界面数据格式规 则,创 建 XML 头、UI 版 本 号、主 体 widget、主 体Layout;然后根据不同类型的控件生成控件 XML 标签,包括类名、布局坐标、对象名、property 参数值;最后将图 1 控件库结构图 2 界面文件

11、解析规则中国科技信息 2024 年第 9 期CHINA SCIENCE AND TECHNOLOGY INFORMATION May.2024-98-三星推荐QDomDocument 数据对象保存 UI 布局文件供界面显示功能读取显示。界面布局文件结构如图 4 所示。实现界面动态显示功能读取界面布局文件通过使用继承自 QUiLoader 的 QMyUiLoader 类,我们可以更加灵活地解析 XML 格式的 UI 文件,并将其中的对象动态地构建成 widget 树形结构。这种技术为教员控制台的界面设计带来了巨大的便利。根据不同的飞行训练模拟器的具体训练需求,教员可以轻松地修改 UI 界面布局文

12、件,而无需重新编辑或链接代码。这意味着,教员可以根据需要快速调整控制台界面,以满足不同训练场景的要求。QMyUiLoader 类的强大功能,为教员控制台界面的动态生成提供了有力支持。类反射创建控件在完成界面编辑的过程中,需要使用类反射技术对控件库中的自定义实现的控件生成对象实例。该功能通过识别XML 文件中的类名对 Qt 原生控件和自定义控件进行区分,如果是原生控件则使用 QUiLoader 自带的解析功能创建控件实例,如果是自定义控件,则需要开发人员使用类反射技术动态地创建控件实例。系 统 中 定 义 了 模 块 解 析 器 ModuleLoader 根据 QUILoader 解 析 出 的

13、 控 件 名 称 调 用 模 块 管 理 器ModuleManger 判断该模块实例是否创建生成。系统内部会内置模块实例键值对,如果模块已创建生成则调用ModuleMap 在模块实例缓存池中获取对应模块实例,供软件界面渲染使用;如果模块未创建生成过则通过 Qt 元类使用类反射技术使用自定义的模块构造器对模块实例进行创建并加入模块实例缓存池中。类反射技术动态创建控件的运行机制如图 5 所示。效果验证实现教员控制台软件系统环境设置模块的界面实现,该模块主要与飞行训练模拟器视景分系统进行交互通信。教员控制台系统可通过请求按钮与视景分系统完成注册、注销、打开仿真场景、设置仿真参数、结束仿真等操作,并通

14、过设置请求数据的参数值发送对应数据至视景分系统,完成视景系统的场景设计、切换功能。在该功能模块中,用户可通过使用本文中提到的动态界面布局的设计方法,切换为界面编辑模式,使用控件拖拽功能完成界面配置;在完成界面保存后,切换为训练模式,重新加载界面布局文件,展示用户配置编辑的界面。对应本文在“项目背景和问题引入”内容处提到的四点问题,动态界面布局的设计方式解决了以下问题。用户可根据飞行训练模拟器型号任务需要,切换界面编辑模式进行界面配置;界面布局以 XML 格式的文件保存,可以支持动态修改编辑及展示;为用户提供了界面编辑功能,实现了个性化界面配置服务;对于新加入的控件,仅需要将编译好的 DLL 控件库放置到对应的文件夹内,即可实现控件的动态更新。结语基于 QtUiTools 动态界面布局的开发方式,实现了界面布局的灵活化、动态化、个性化,具有较高的自由度,能够充分满足用户需求,根据训练需求灵活地配置软件界面,提升了用户界面的动态交互能力。动态界面技术重新定义了教员控制台软件的设计理念,重塑了软件的主体架构,取代了复杂的界面编辑及数据动态更新的代码实现,提升了用户使用的自由度,提高软件可靠性,同时简化后期软件维护保障等工作,能够更好地适应快速交付与迭代的软件开发流程。图 3 控件拖拽实现方式图 4 界面布局文件结构图 5 类反射控件生成机制

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 学术论文 > 论文指导/设计

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服