admin 管理员组

文章数量: 1087675


2023年12月22日发(作者:null文件是什么意思)

《工业控制计算机》2021年第34卷第4期87基于Qt的医检仪器的MVC框架模式的研究Research

on

MVC

Framework

Mode

of

Medical

Exami;ation

Equipmeat

Based

on

Qt宋文彬

李宇

何永涛(东南大学自动化学院,江苏南京210096)摘要:医疗检测仪器正朝着集成化、智能化、自动化、小型化、人机交互友好化的方向发展。基于管理机-控制机体系的嵌

入式系统是目前体外诊断仪器的主流发展方向。Qt作为新型的图形用户界面开发框架,正被广泛应用在各行各业遥提出了

一种Qt框架下的MVC架构,可以适用在常规的医疗检测仪器的管理机开发中,并针对于扩展型管理机的开发进行了设计

与探讨。关键词:医检仪器;Qt

MVCAbstract:Medical

testing

instruments

are

developing

in

the

direction

of

i;tegratio;|i;tellige;ce|automatio;|mi;iaturizatio;|

and

friendly

human-computer

embedded

system

based

on

the

management

-control

machine

system

is

the

mainstream

development

direction

of

in

vitro

diagnostic

a

new

graphical

user

interface

development

frame-

work,Qt

is

being

widely

used

in

all

walks

of

p

aper

proposes

a

MVC

architecture

under

the

Qt

framework,which

can

be

applied

to

the

development

of

convention

al

medic al

testing

equipment

m

anagement

m

achi;es•BesideS|this

p

aper

designs

and

discusses

the

development

of

extended

man

agement

machines

under

the

ds:medic

al

testing

i;strume;tS|Qt|MVC1医疗检测仪器的现状和发展近年来,随着国家和地方对医学检验的大力支持,医学检验

技术得到了蓬勃的发展[1]遥医检仪器也朝着自动化、多功能化的

方向发展。同时,小型化、可扩展化,并具备先进的人机交互界面

的仪器正是占有未来医疗检测市场的强大武器。Qt带来的问题是内存庞大、封装较深,但这些随着处理器的强

大,已然不是问题。同时,其处理速度很快,虽较慢于MFC,但比

Java、C#要快,且其程序会编译成本地代码,无需依托虚拟机。2.2

MVC模型的简述在一般的管理机中,主要功能主要包含三部分:第一部分是

嵌入式技术有高度的专业性,可为特定的需求进行高效的

定制,工作效率、可靠性更高咱養嵌入式系统已经成为常规医疗

接收、处理控制机交互的数据;第二部分是打包、发送交互数据给

控制机;第三部分是逻辑业务,将数据实时或者修正后显示到人

检测仪器的主流设计与实现的方向。其不仅可以使检测仪器朝 机交互的界面,并对某些数据进行存储。从软件角度而言,分为三

层,数据层、业务逻辑处理层以及UI层。MVC框架模式岀来后,

逐渐成为主流的框架模式,经典的三层模型已渐渐销声匿迹。MVC是一种框架模式,区别于设计模式回。其最大的特点是

代码重用,可以直接执行或者复用。设计模式是小于框架的元

着便携化、低成本化的方向发展,而且可以根据仪器的独特需求

实现定制,更加高效地实现仪器功能遥目前,大多数嵌入式检测仪器都是专项专测遥然而,随着医

学检验技术的日益更新,以及临床诊断需求,医疗检测仪器正向

着多模块、可扩展的方向发展。在原有的检测模块的基础上,扩

展新的检测模块,增强检测的灵活性,实现检测结果的联合显

示,提高仪器的使用效率、扩大其使用范围。素,框架中往往包含多个设计模式。框架总是针对某一特定的应

用领域,反之,设计模式却可以应用于不同的领域。总而言之,框

架就是一种软件。MVC模式,将软件系统分为三个部分:模型、视图和控制器

(Model、View、Controller)。Modal又称为数据模块,其中存储的

是软件中的数据。对于用户,可以操作视图来作为输入,修改模

2

Qt及MVC模型的简述2.1

Qt的简述Qt是一个应用程序开发框架,是在1991年由Qt

Company

开发的跨平台具体。在该平台上,既可以开发GUI程序,也可以开

发控制台工具、服务器。其也主要用于开发桌面程序、嵌入式程

序。在iOS和Android平台,Qt也作为手机App的开发工具。型中的值。相对应,模型中的值会间接呈现在视图上。View负责

与用户的交互。通过视图,用户可以输入并获得输岀的反馈。

Controllar是连接Model和View的桥梁。MVC框架模式具有高内聚、低耦合的性质。框架图如图1遥

其将业务逻辑聚集在一个部件里面,各部分相互独立又相互联Qt最大的特点就是跨平台性,一次编码,多系统编译。Qt支

持的编译器有G+

+、clang、mingw以及msvc,支持的操作系统

平台有

Linux、OS

X、Windows、VxWorks、QNX、Android、iOS

等等。开发人员只需一次编码,编译即可生成各个平台下的原生

应用程序,无需修改任何源代码。且Qt会自动依据不同的平台,

表现岀各个平台所特有的画面及其风格特色。Qt使用的是面向

对象的语言C++,运行效率高于C#,适用于需要大量运算的开

发项目,尤其在图像处理软件、特效制作软件中。值得一提的是,Qt不仅是一个GUI库,除了可以创建岀美轮

美奂的界面,还可以适用其他组件。开发者无需研究STL,无需解

析XML、连接数据库等第三方软件库,这些在Qt内中已经内置。图1经典的MVC框架图

88系,可以让各部分专注于自己的任务,无需关注其他部件。在改

进和个性化定制用户交互界面时,无需改动业务逻辑的代码,仅

基于Qt的医检仪器的MVC框架模式的研究仅需要在View层进行改动。其优势主要依赖于具有承上启下特点的 Contro

I

I

er

层。UR*'

*|

ljuEe

严2.3

Qt的MV模型类似于MVC框架模式,

CMftlQt

中增加了 Mode

I

/View

构来实现数据与界面的分离。

Qt

In

terView

集成

View

和Controller,并引入了代理

(Delegate)层,来实现

MVD

的框架模式。如图2所示。这

三者之间的主要关系如下:1)

数据改变时袁ModeI层

图2

Qt的MV框架图发岀信号通知

View 层;2)

人机交互时,View层发岀信号;3)

DeIegate层相互通知View层和Model层的状态。图3设备整体框图3可扩展型医疗检测仪器管理机的Qt下的MVC框架模式的设计在之前的常规的医疗检测仪器的管理机开发的框架设计

中袁UI界面通常融合在功能模块中,这不利于产品的升级和迭

代,以及后续的界面优化与模块的添加。将UI界面和业务逻辑

尽可能的分离是Qt开发应用程序的一个基本原则。与此同时,

Qt不单单实现了 UI交互界面设计,还可以进行后端开发,如数

据处理业务的实现。在Qt的设计早期,设计人员为了简化开发人员的工作量,

封装了复杂的逻辑组织和数据结构,即Model-View结构。这种

图4

Qt的一对多MVC框架模式框图

与之对应的是各自的View层。各个模块之间的Communication.

View

无法通信,但是为了应对实际需求,将在

Communication

ModeI层之间添加缓存区,以达到数据的提前处理和共享。思想在早期的Qt应用中,已足够开发人员使用,但随着需求的

增加,技术的发展,该框架已远远不够。在MVC框架模式中,Qt

并没有实现C(Controller层,也没有实现C的体制、机制。该框

Communication层类似于Controller层,主要实现对数据

的采集,如串口、网口、Wi-Fi模块、CAN

口等。接收到的数据送

架模型仅是保存对应的View层状态的模型,是整个程序的子集

或者侧面,无法面对更加复杂的Model层信息的变化。针对于常规的医学检测仪器,从功能需求的角度岀发,有如

到业务逻辑层进行处理,用户发送的数据也由该层发送到执行

模块上。在Qt平台上,本文的设计思想是将所有的Communi-

cation

类都会实例化为一个个单独的对象线程,

一般几个模块

下需求:1

)人机交互,提供友好交互、信息期权的GUI界面。2)

数据的接收、处理、保存。管理机接收控制机传送的数据,

进行处理,并图形化显示,同时保存在相应位置。3) 数据的管理。用户可以通过交互界面进行历史数据的查

询、修改、添加等操作。4)

外接设备的管理。管理机连接打印机、键盘、鼠标等设备。5)

兼容并管理多台控制机。实现一对多的管理架构,管理机

可以实现对每一台控制机的全面控制,并具有针对性。同时,提

供尽可能高的兼容性,

功能结构相似的控制机都可以被同一台

就有几个线程,不会阻塞GUI主线程。在异步Q中,可以更好

地发挥代码的鲁棒性,同时,也可以更好、更快地响应采集信息

与传递控制机的控制信息。4结束语本文选择了

Qt

作为管理机开发工具,

Qt

上按照

MVC

框架设计并开发了常规医疗检测仪器管理机的软件,并在某公

司的五分类血液分析仪(拓展模块为CRP检测仪)进行了实际

的升级与开发。事实证明,该框架可以较好地实现医疗检测仪器

常规需求,提升多模块下的仪器性能。但仪器测试还需进一步跟

进,该框架的优势还需进一步验证与发掘遥参考文献[1]

杨辉,胡凯•新政策下国产创新医疗器械的机遇与挑战[J].中国医疗

管理机控制。设备整体框图如图3所示。本文为实现上述需求下的常规嵌入式医疗检测仪器的管理

机,在Qt的开发平台下,设计了新的MVC框架模式。不论是一

对一的管理机、控制机模式,还是拓展型的一拖多模式,该MVC

框架都可以较好地开发,实现需求。为了区别于传统的MVC框

架,

结合

Qt

特点,

本文将

C

层作为

Communication

层,

实现

设备,2019,34(2):161-164[2]

窦兴师•嵌入式系统的现状及发展趋势[J].电子制作,2018(3):

100-

101[3]

Fridman

Liraz,

Rothman

Linda,

Howard

Andrew

William,

et

al.

View和Model层的逻辑通信与信息交互铁

同时,为了更好将

MVC框架应用在一拖多的场景下,对View和Controller层进

Methodological

considerations

in

MVC

epidemiological

re­search

[J].Injury

Prevention,2020,27(2):155-160[4]

Amwha•基于

Qt

的软件框架设计[EB/0L](2017-06-29)[2020-

行了多层设计,彼此隔离,相互协作。Qt的一对多MVC框架模

式框图如图4所示。针对不同的检测单元(模块),分配不同的Communication,12-15]

./amwha/article/details/73928281[收稿日期:2021.1.11]


本文标签: 仪器 检测 管理