一种matlab环境下gui制作方法及系统的制作方法

文档序号:6401286阅读:240来源:国知局
专利名称:一种matlab环境下gui制作方法及系统的制作方法
技术领域
本发明涉及⑶I (Graphical User Interface,图形用户界面)技术领域,更具体地说,涉及一种MATLAB环境下⑶I制作方法及系统。
背景技术
GUI是指采用图形方式显示的计算机操作用户界面。与早期计算机使用的命令行界面相比,Gn对于用户来说在视觉上更易于接受。Gn强调人一计算机一环境三者作为一个系统进行总体设计,其目的是优化产品的性能,使操作更人性化,减轻使用者的认知负担,使其更适合用户的操作需求。与很多高级编程语言一样,MATLAB也可以实现⑶I的开发。现有MATLAB环境下制作⑶I的常用方法为:采用MATLAB自带的图形用户界面开发环境(⑶IDE),在⑶IDE上创建新的GUI ;具体的,GUIDE左侧区域为控件工具栏,右侧区域为GUI编辑区域,用户可根据自己的设计将需要的控件,用鼠标从控件工具栏拖至右侧的编辑区域进行布局,在完成布局后,MATLAB生成fig文件和m文件,两者通过控件的属性Tag关联,通过该fig文件保存制作的GUI。其中,控件是GUI中显示在屏幕上的一种对象,用户可操作控件执行某一行为,通过与控件进行交互可实现数据的输入或其他操作。可以看出,上述MATLAB环境下制作GUI的方法需要采用鼠标拖动控件至编辑区域进行布局来完成GUI的制作,受到GUIDE提供的控件类型及编辑区环境的限制,GUI的制作方式较为繁琐且不灵活。

发明内容
有鉴于此,本发明实施例提供一种MATLAB环境下⑶I制作方法及系统,以解决现有GUI制作方式较为繁琐且不灵活的问题。为实现上述目的,本发明实施例提供如下技术方案:一种MATLAB环境下图形用户界面⑶I制作方法,包括:生成标准函数,所述标准函数包括-MUI基础信息,基础控件对应的函数,和读取及解析可扩展标记语言XML文件的接口 ;利用所述读取及解析XML文件的接口读取预定义的XML文件,所述XML文件包括GUI控件布局信息,解析所述XML文件,得到所述GUI控件布局信息;依据所述⑶I控件布局信息和所述⑶I基础信息绘制⑶I的界面,完成⑶I的控件图形显示;依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能。其中,所述XML文件以树状数据结构承载所述GUI控件布局信息,所述GUI控件布局信息包括至少一个GUI页面的信息;所述XML文件以树状数据结构承载所述⑶I控件布局信息的过程包括:
定义⑶I页面的名称;在一个⑶I页面中定义至少一个分区,定义各分区的名称和布置位置;在一个分区中定义至少一行,定义各行的布置位置;在各行上定义至少一个控件,定义各控件的名称、布置位置、控件对应的类型、控件对应的回调函数的函数名和控件对应的默认显示方式。其中,所述方法还包括:采用数组结构存储第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与所述第一类控件对应的回调函数对应;所述依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能的过程包括:在完成⑶I的控件图形显示之后,判断是否具有数组结构;若是,调用所述第一类控件对应的回调函数读取所述第一类控件对应的数据信息,实现所述第一类控件的功能;若否,读取第二类控件对应的数据信息,实现所述第二类控件的功能,所述第二类控件为GUI中的非同类控件。其中,在依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能之后还包括:初始化⑶I,操作⑶I中的控件;判断是否需要调用特殊回调函数;若判断需要调用特殊回调函数,调用预编写的特殊回调函数;保存⑶I对应的数据至MATLAB的底层变量。其中,采用数组结构存储第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与第一类控件对应的回调函数对应;所述保存⑶I对应的数据至MATLAB的底层变量的过程包括:判断是否具有数组结构;若是,调用所述第一类控件对应的回调函数保存所述第一类控件对应的数据信息,将所述第一类控件对应的数据信息保存至MATLAB的底层变量;若否,保存第二类控件对应的数据信息,将所述第二类控件对应的数据信息保存至MATLAB的底层变量,所述第二类控件为⑶I中的非同类控件。其中,所述标准函数还包括:控件可变更属性定义接口,回调函数的执行接口 ;所述方法还包括:通过所述可变更属性定义接口对控件的可变更属性进行定义;通过回调函数的执行接口对回调函数进行调取。本发明实施例还提供一种MATLAB环境下图形用户界面⑶I制作系统,包括:标准函数生成模块,用于生成标准函数,所述标准函数包括:⑶I基础信息,基础控件对应的函数,和读取及解析可扩展标记语言XML文件的接口 ;读取解析模块,用于利用所述读取及解析XML文件的接口读取预定义的XML文件,所述XML文件包括GUI控件布局信息,解析所述XML文件,得到所述GUI控件布局信息;控件图形完成模块,用于依据所述GUI控件布局信息和所述GUI基础信息绘制GUI的界面,完成⑶I的控件图形显示;
控件功能完成模块,用于依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能。其中,所述系统还包括:XML文件定义模块,用于采用XML文件以树状数据结构承载所述⑶I控件布局信息,所述⑶I控件布局信息包括至少一个⑶I页面的信息;所述XML文件定义模块包括:页面定义单元,用于定义GUI页面的名称;分区定义单元,用于在一个GUI页面中定义至少一个分区,定义各分区的名称和
布置位置;行定义单元,用于在一个分区中定义至少一行,定义各行的布置位置;控件定义单元,用于在各行上定义至少一个控件,定义各控件的名称、布置位置、控件对应的类型、控件对应的回调函数的函数名和控件对应的默认显示方式。其中,所述控件功能完成模块包括:第一判断单元,用于在完成⑶I的控件图形显示之后,判断是否具有数组结构,所述数组结构存储有第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与所述第一类控件对应的回调函数对应;第一读取单元,用于在所述第一判断单元的判断结构为是时,调用所述第一类控件对应的回调函数读取所述第一类控件对应的数据信息,实现所述第一类控件的功能;第二读取单元,用于在所述第一判断单元的判断结果为否时,读取第二类控件对应的数据信息,实现所述第二类控件的功能,所述第二类控件为GUI中的非同类控件。其中,所述系统还包括:初始化模块,用于初始化⑶I ;操作模块,用于操作⑶I中的控件;判断模块,用于判断是否需要调用特殊回调函数;调用模块,用于在所述判断模块的判断结果为是时,调用预编写的特殊回调函数;保存模块,用于保存⑶I对应的数据至MATLAB的底层变量;其中,所述保存模块包括:第二判断单元,用于判断是否具有数组结构,所述数组结构存储有第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与所述第一类控件对应的回调函数对应;第一保存单元,用于在所述第二判断单元的判断结果为是时,调用所述第一类控件对应的回调函数保存所述第一类控件对应的数据信息,将所述第一类控件对应的数据信息保存至MATLAB的底层变量;第二保存单元,用于在所述第二判断单元的判断结果为否时,保存第二类控件对应的数据信息,将所述第二类控件对应的数据信息保存至MATLAB的底层变量,所述第二类控件为GUI中的非同类控件。本发明实施例提供的MATLAB环境下的⑶I制作方法,通过编写标准函数,进行控件的基础设计;通过XML文件定义GUI控件布局信息,在读取解析XML文件获得GUI控件布局信息后,通过该控件布局信息和标准函数中的⑶I基础信息完成⑶I的控件图形显示,再依据基础控件对应的函数及GUI控件布局信息实现GUI界面中的控件功能。相比于现有采用鼠标拖动控件至编辑区域进行布局来完成GUI的制作的方法,本发明实施例解决了现有GUI制作方式较为繁琐且不灵活的问题,大大缩短了 GUI设计、修改和维护的时间,大大提高了 GUI开发的效率,并且能够便捷的进行GUI的批量制作。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的MATLAB环境下GUI制作方法的流程图;图2为本发明实施例提供的控件布局示意图;图3为本发明实施例提供的实现GUI界面中的控件功能的流程图;图4为本发明实施例提供的MATLAB环境下⑶I制作方法的另一流程图;图5为本发明实施例提供的保存GUI对应的数据至MATLAB的底层变量的流程图;图6为本发明实施例提供的MATLAB环境下⑶I制作方法的又一流程图;图7为本发明实施例提供的MATLAB环境下GUI制作系统的结构框图;图8为本发明实施例提供的MATLAB环境下GUI制作系统的另一结构框图;图9为本发明实施例提供的XML文件定义模块的结构框图;图10为本发明实施例提供的控件图形完成模块的结构框图;图11为本发明实施例提供的MATLAB环境下GUI制作系统的又一结构框图;图12为本发明实施例提供的保存模块的结构框图。
具体实施例方式本发明实施例提供的MATLAB环境下⑶I制作方法的主要思想为:通过XML(Extensible Markup Language,可扩展标记语言)文件承载⑶I控件的布局信息,在⑶I底层操作和上层用户界面设计制作中增加一层XML解析的过程,通过访问XML文件并对其进行解析,获得GUI控件的布局信息,根据该控件布局信息的定义绘制GUI界面,在完成GUI界面的绘制后,填充各控件的函数功能,实现GUI的制作。下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。图1为本发明实施例提供的MATLAB环境下GUI制作方法的流程图,参照图1,该方法可以包括:步骤S100、生成标准函数;可选的,标准函数可以包括:GUI基础信息,基础控件对应的函数,读取及解析XML文件的接口。其中,GUI基础信息定义了 GUI的一些基础界面属性,如界面宽度、灰度、边距、行间距等固定信息,通过GUI基础信息可大体确立GUI界面的框架;基础控件可以为确认、取消、帮助等应用控件,基础控件对应的函数可以为实现确认、取消、帮助等控件功能对应的函数信息。可选的,标准函数还可以包括:用户可操作控件的部分属性,控件可变更属性定义接口,回调函数的执行接口等。本发明实施例通过XML文件承载GUI控件的布局信息,因此此处的用户可操作控件是指在XML文件中定义的GUI可操作控件,此处标准函数中定义的用户可操作控件的部分属性为出于保持统一并简化函数的目的、而定义的用户可操作控件的部分统一属性;以用户可操作控件为按钮为例,XML文件中可以定义按钮制作的数量、位置、功能等属性,而出于保持统一并简化函数的目的,按钮的颜色、间距等部分不可被修改的属性可在标准函数中定义。通过标准函数预留的控件可变更属性定义接口可为各类型函数的可以被变更的属性进行调整,如控件布置位置、默认值显示、是否灰化等可调整的属性进行调整。步骤SI 10、利用所述读取及解析XML文件的接口读取预定义的XML文件,解析所述XML文件,得到所述GUI控件布局信息;GUI控件布局信息主要指控件在GUI界面中如何进行布置的信息,其定义了 GUI界面上的控件种类、数量、位置、属性等信息。可选的,本发明实施例XML文件可以树状数据结构承载GUI控件布局信息,即在XML文件中采用分层定义方式对GUI控件的布局方式进行定义,具体实现过程可以为:定义至少一个GUI页面;定义GUI页面的名称;在一个GUI页面中定义至少一个分区,定义各分区的名称及布置位置;在一个分区中定义至少一行,定义各行的布置位置;在各行上定义至少一个控件,定义各控件的名称,布置位置、控件对应的类型、控件对应的回调函数的函数名和控件对应的默认显示方式等。即以一个GUI页面对应至少一个分区,一个分区对应至少一行,一行对应至少一个控件的方式进行⑶I控件的布局。图2示出了控件布局示意图,可进行参照。如图2,在一个图(Figure)中设定⑶I界面的页面个数(Tab)及各页面的名称(Name)、设定每个页面上的分区(Frame)及各分区的名称(Name)和布置位置(Position),在每个分区上按照行(Line)的方式(同时设定各行的布置位置)逐一定义该行上的控件(Π ),定义各个控件的名称(Name ),对应的回调函数的函数名(CalIback),布置位置(Position),类型(StyIe),及默认显示方式(String)。步骤S120、依据所述⑶I控件布局信息和所述⑶I基础信息绘制⑶I的界面,完成⑶I的控件图形显示;本发明实施例通过XML文件定义⑶I控件布局的方式(即定义⑶I控件布局信息),用户就可以通过直接编写XML文件来进行GUI设计,层次性强,清晰直观,对控件的各个属性也能迅速定位;按照XML所定义的GUI控件布局信息,可制作GUI页面、各页面对应的分区、各分区对应的行、及各行上对应的控件,同时绘制出来的GUI将继承标准函数中的基础信息的界面属性,结合基础信息的界面属性与XML定义的GUI控件布局信息,将完成GUI控件图形的制作,到此GUI的图形制作已完成,后续对各控件进行功能填充即可完成GUI制作。步骤S130、依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能。GUI的控件功能分为两部分,一部分为基础控件对应的功能,这部分功能通过标准函数中的基础控件对应的函数即可完成,即通过绑定基础控件对应的函数与基础控件图形的对应关系;另一部分为非基础控件对应的功能,这部分功能定义在XML文件中,通过调用XML文件定义的控件的回调函数的函数名(Callback),实现对应函数与对应控件的对应关系设定即可,对于无需写特殊功能回调函数的控件,其Callback的位置填写为default。值得注意的是,回调函数是对控件功能进行定义的一类专有函数。本发明实施例提供的MATLAB环境下的⑶I制作方法,通过编写标准函数,进行控件的基础设计;通过XML文件定义GUI控件布局信息,在读取解析XML文件获得GUI控件布局信息后,通过该控件布局信息和标准函数中的⑶I基础信息完成⑶I的控件图形显示,再依据基础控件对应的函数及Gn控件布局信息实现GUI界面中的控件功能。相比于现有采用鼠标拖动控件至编辑区域进行布局来完成GUI的制作的方法,本发明实施例解决了现有GUI制作方式较为繁琐且不灵活的问题,大大缩短了 GUI设计、修改和维护的时间,大大提高了 GUI开发的效率,并且能够便捷的进行GUI的批量制作。可选的,图1所示实现所述GUI界面中的控件功能的方式可如图3所示,参照图3,其可选的实现过程可以包括:步骤S131、在完成⑶I的控件图形显示之后,判断是否具有数组结构,若是,执行步骤S132,若否,执行步骤S133 ;本发明实施例可采用数组结构存储第一类控件对应的数据信息,第一类控件为GUI中的同类控件;所述数组结构与第一类控件对应的回调函数对应。针对大量同类控件,本发明实施例可进行统一存储,实现简化操作的目的。如果GUI界面上有大量同类控件,因为是同类控件,所以数据类型是相同的,比如都是布尔值,所以可以采用数组结构进行统一存储。如果不同的控件,那么数据类型很可能不同,所以不能用数组结构进行数据信息的存储。步骤S132、调用所述第一类控件对应的回调函数读取所述第一类控件对应的数据信息,实现所述第一类控件的功能;回调函数是与标准函数存在于一个文件夹的单独的函数,数组结构与回调函数对应,需要通过调取回调函数才能读取第一类控件对应的数据信息,将读取的数据信息与第一类控件进行对应关系的设定,即可实现第一类控件的功能。第一类控件可以是同类的基础控件,也可以是同类的非基础控件。步骤S133、读取第二类控件对应的数据信息,实现所述第二类控件的功能。其中,所述第二类控件为GUI中的非同类控件。对于不能采用数组结构进行数据信息存储的情形,本发明实施例可直接读取第二类控件对应的数据信息。第二类控件可以为基础控件,也可以是非基础控件,对于基础控件和非基础控件读取函数信息实现控件的功能的描述,已在步骤S130中进行过,此处不再赘述。图4为本发明实施例提供的MATLAB环境下GUI制作方法的另一流程图,图4示出了在实现GUI界面的控件功能后,本发明实施例可操作GUI中的控件,并对控件操作后的⑶I界面进行保存。结合图1和图4所示,该方法还可以包括:步骤S140、初始化⑶I,操作⑶I中的控件;初始化⑶I的方式可以为在Simulink模块的OpenFun添加函数后,双击该模块,打开GUI界面,此时控件需要初始值,比如滑动条初始位置,文本框的默认值等等;
操作GUI中控件的方式可以为点击按钮、移动滑动条、在文本框中输入数字等等。步骤S150、判断是否需要调用特殊回调函数,若是,执行步骤S160,若否,执行步骤 S170 ;特殊回调函数可以为判断输入值的上下限、显示出错信息等特殊功能对应的回调函数。如在初始化GUI后,在GUI的文本框中输入数字后,若该数字值与预定的输入值上下限不符,则需要调用特征回调函数,显示出错信息或对输入值进行调整。步骤S160、调用预编写的特殊回调函数,执行步骤S180 ;如在数字值与预定的输入值上下限不符时,输出与所述特殊控件对应的回调函数,对输入值进行调整或显示出错信息。步骤S170、输出default函数或缺省,执行步骤S180 ;步骤S180、保存⑶I对应的数据至MATLAB的底层变量。步骤S160和步骤S170执行完成后,说明⑶I中的控件情况已稳定,如⑶I中的数值为正确状态、并不处于出错状态,可对GUI进行保存,将GUI对应的数据保存至MATLAB的
底层变量。相比现有采用fig文件保存GUI的方式,本发明实施例将GUI对应的数据保存至MATLAB的底层变量可大幅减小GUI存储所占用的存储资源。可选的,图4所示步骤S190保存⑶I对应的数据至MATLAB的底层变量的可选方式可如图5所示,参照图5,其可选实现方式可以为:步骤S181、判断是否具有数组结构,若是,执行步骤S182,若否,执行步骤S183 ;数组结构存储有第一类控件对应的数据信息,第一类控件为GUI中的同类控件;所述数组结构与第一类控件对应的回调函数对应;步骤S182、调用所述第一类控件对应的回调函数保存所述第一类控件对应的数据信息,将所述第一类控件对应的数据信息保存至MATLAB的底层变量;步骤S183、保存第二类控件对应的数据信息,将所述第二类控件对应的数据信息保存至MATLAB的底层变量,所述第二类控件为GUI中的非同类控件。值得注意的是,图5所示流程与图3所示流程的原理类似,图5为采用数组结构实现GUI中同类控件的数据信息的保存、完成GUI保存的过程,图3为采用数组结构实现GUI中同类控件的数据信息的读取、实现GUI的控件功能的过程。图6为本发明实施例提供的MATLAB环境下GUI制作方法的又一流程图,参照图6,该方法可以包括:步骤S200、生成标准函数;步骤S210、读取及解析XML文件,获得⑶I控件布局信息;步骤S220、依据所述⑶I控件布局信息和标准函数中的⑶I基础信息完成⑶I的控件图形显示,完成Gn界面的绘制;步骤S230、判断是否有数组结构,若是,执行步骤S240,若否,执行步骤S250 ;步骤S240、调用所述第一类控件对应的回调函数读取所述第一类控件对应的数据信息,实现所述第一类控件的功能;步骤S250、读取第二类控件对应的数据信息,实现所述第二类控件的功能;步骤S260、初始化⑶I ;
步骤S270、操作⑶I中的控件;步骤S280、判断是否需要调用特殊回调函数,若是,执行步骤S290,若否,执行步骤 S300 ;步骤S290、调用预编写的特殊回调函数;步骤S300、输出default函数或缺省;步骤S310、判断是否有数组结构,若是,执行步骤S320,若否,执行步骤S330 ;步骤S320、调用所述第一类控件对应的回调函数保存所述第一类控件对应的数据信息,将所述第一类控件对应的数据信息保存至MATLAB的底层变量;步骤S330、保存第二类控件对应的数据信息,将所述第二类控件对应的数据信息保存至MATLAB的底层变量。可选的,本发明实施例还可通过标准函数中预留的可变更属性定义接口对控件的可变更属性进行变更。可选的,本发明实施例还可通过标准函数中的回调函数的执行接口对回调函数进行调取。回调函数可以是非基础控件对应的回调函数,也可以是特殊回调函数。本发明实施例采用XML文件定义GUI控件布局信息,在读取解析XML文件获得GUI控件布局信息后,通过该控件布局信息和标准函数中的GUI基础信息完成GUI的控件图形显示,再依据基础控件对应的函数及GUI控件布局信息实现GUI界面中的控件功能。本发明实施例采用XML文件定义GUI控件布局信息,可大大缩短GUI设计、修改和维护的时间,大大提高GUI开发的效率,并且能够便捷的进行GUI的批量制作。下面对本发明实施例提供的MATLAB环境下GUI制作系统进行介绍,下文描述的系统与上文描述的MATLAB环境下GUI制作方法相对应,两者可相互参照。图7为本发明实施例提供的MATLAB环境下GUI制作系统的结构框图;参照图7,该系统可以包括:标准函数生成模块100,用于生成标准函数;所述标准函数包括:GUI基础信息,基础控件对应的函数,和读取及解析可扩展标记语言XML文件的接口 ;读取解析模块200,用于利用所述读取及解析XML文件的接口读取预定义的XML文件,所述XML文件包括GUI控件布局信息,解析所述XML文件,得到所述GUI控件布局信息;控件图形完成模块300,用于依据所述GUI控件布局信息和所述GUI基础信息绘制⑶I的界面,完成⑶I的控件图形显不;控件功能完成模块400,用于依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能。可选的,读取解析模块200和/或控件图形完成模块300可内嵌于标准函数中。本发明实施例提供的MATLAB环境下GUI制作系统采用XML文件定义GUI控件布局信息,可大大缩短GUI设计、修改和维护的时间,大大提高GUI开发的效率,并且能够便捷的进行GUI的批量制作。图8为本发明实施例提供的MATLAB环境下GUI制作系统的另一结构框图,结合图7和图8所示,该系统还可以包括:XML文件定义模块500,用于采用XML文件以树状数据结构承载所述GUI控件布局信息;所述⑶I控件布局信息包括至少一个⑶I页面的信息。图9为本发明实施例提供的XML文件定义模块500的结构框图,参照图9,XML文件定义模块500可以包括:页面定义单元510,用于定义⑶I页面的名称;分区定义单元520,用于在一个⑶I页面中定义至少一个分区,定义各分区的名称和布置位置;行定义单元530,用于在一个分区中定义至少一行,定义各行的布置位置;控件定义单元540,用于在各行上定义至少一个控件,定义各控件的名称、布置位置、控件对应的类型、控件对应的回调函数的函数名和控件对应的默认显示方式。图10为本发明实施例提供的控件功能完成模块400的结构框图,参照图10,控件功能完成模块400可以包括:第一判断单元410,用于在完成⑶I的控件图形显示之后,判断是否具有数组结构;所述数组结构存储有第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与所述第一类控件对应的回调函数对应;第一读取单元420,用于在第一判断单元410的判断结果为是时,调用所述第一类控件对应的回调函数读取所述第一类控件对应的数据信息,实现所述第一类控件的功能;第二读取单元430,用于在第一判断单元410的判断结果为否时,读取第二类控件对应的数据信息,实现所述第二类控件的功能,所述第二类控件为GUI中的非同类控件。图11为本发明实施例提供的MATLAB环境下GUI制作系统的又一结构框图,结合图7和图11所示,该系统还可以包括:初始化模块600,用于初始化⑶I ;操作模块700,用于操作⑶I中的控件;判断模块800,用于判断是否需要调用特殊回调函数;调用模块900,用于在判断模块800的判断结果为是时,调用预编写的特殊回调函数;保存模块1000,用于保存⑶I对应的数据至MATLAB的底层变量。图12为本发明实施例提供的保存模块1000的结构框图,参照图12,保存模块1000可以包括:第二判断单元1001,用于判断是否具有数组结构;所述数组结构存储有第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与所述第一类控件对应的回调函数对应;第一保存单元1002,用于在第二判断单元1001的判断结果为是时,调用所述第一类控件对应的回调函数保存所述第一类控件对应的数据信息,将所述第一类控件对应的数据信息保存至MATLAB的底层变量;第二保存单元1003,用于在第二判断单元1001的判断结果为否时,保存第二类控件对应的数据信息,将所述第二类控件对应的数据信息保存至MATLAB的底层变量;所述第二类控件为⑶I中的非同类控件。可选的,标准函数还包括:控件可变更属性定义接口,回调函数的执行接口。对应的,该系统还可以包括:属性变更模块(未图示),用于通过所述可变更属性定义接口对控件的可变更属性进行定义;回调函数调取模块(未图示),用于通过回调函数的执行接口对回调函数进行调取。本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
权利要求
1.一种MATLAB环境下图形用户界面GUI制作方法,其特征在于,包括: 生成标准函数,所述标准函数包括:GUI基础信息,基础控件对应的函数、和读取及解析可扩展标记语言XML文件的接口 ; 利用所述读取及解析XML文件的接口读取预定义的XML文件,所述XML文件包括GUI控件布局信息,解析所述XML文件,得到所述GUI控件布局信息; 依据所述GUI控件布局信息和所述GUI基础信息绘制GUI的界面,完成GUI的控件图形显示; 依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能。
2.根据权利要求1所述的方法,其特征在于,所述XML文件以树状数据结构承载所述⑶I控件布局信息,所述⑶I控件布局信息包括至少一个⑶I页面的信息; 所述XML文件以树状数据结构承载所述⑶I控件布局信息的过程包括: 定义GUI页面的名称; 在一个⑶I页面中定义至少一个分区,定义各分区的名称和布置位置; 在一个分区中定义至少一行,定义各行的布置位置; 在各行上定义至少一个控 件,定义各控件的名称、布置位置、控件对应的类型、控件对应的回调函数的函数名和控件对应的默认显示方式。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:采用数组结构存储第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与所述第一类控件对应的回调函数对应; 所述依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能的过程包括: 在完成⑶I的控件图形显示之后,判断是否具有数组结构; 若是,调用所述第一类控件对应的回调函数读取所述第一类控件对应的数据信息,实现所述第一类控件的功能; 若否,读取第二类控件对应的数据信息,实现所述第二类控件的功能,所述第二类控件为GUI中的非同类控件。
4.根据权利要求1至3任一项所述的方法,其特征在于,在依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能之后还包括: 初始化GUI,操作GUI中的控件; 判断是否需要调用特殊回调函数; 若判断需要调用特殊回调函数,调用预编写的特殊回调函数; 保存⑶I对应的数据至MATLAB的底层变量。
5.根据权利要求4所述的方法,其特征在于,采用数组结构存储第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与第一类控件对应的回调函数对应; 所述保存GUI对应的数据至MATLAB的底层变量的过程包括: 判断是否具有数组结构; 若是,调用所述第一类控件对应的回调函数保存所述第一类控件对应的数据信息,将所述第一类控件对应的数据信息保存至MATLAB的底层变量; 若否,保存第二类控件对应的数据信息,将所述第二类控件对应的数据信息保存至MATLAB的底层变量,所述第二类控件为GUI中的非同类控件。
6.根据权利要求1所述的方法,其特征在于,所述标准函数还包括:控件可变更属性定义接口、回调函数的执行接口 ; 所述方法还包括: 通过所述可变更属性定义接口对控件的可变更属性进行定义; 通过回调函数的执行接口对回调函数进行调取。
7.一种MATLAB环境下图形用户界面GUI制作系统,其特征在于,包括: 标准函数生成模块,用于生成标准函数,所述标准函数包括:GUI基础信息,基础控件对应的函数,和读取及解析可扩展标记语言XML文件的接口 ; 读取解析模块,用于利用所述读取及解析XML文件的接口读取预定义的XML文件,所述XML文件包括GUI控件布局信息,解析所述XML文件,得到所述GUI控件布局信息; 控件图形完成模块,用于依据所述GUI控件布局信息和所述GUI基础信息绘制GUI的界面,完成⑶I的控件图形显示; 控件功能完成模块,用于依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能。
8.根据权利要求7所述的系统,其特征在于,还包括:XML文件定义模块,用于采用XML文件以树状数据结构承载所述 ⑶I控件布局信息,所述⑶I控件布局信息包括至少一个⑶I页面的信息; 所述XML文件定义模块包括: 页面定义单元,用于定义GUI页面的名称; 分区定义单元,用于在一个GUI页面中定义至少一个分区,定义各分区的名称和布置位置; 行定义单元,用于在一个分区中定义至少一行,定义各行的布置位置; 控件定义单元,用于在各行上定义至少一个控件,定义各控件的名称、布置位置、控件对应的类型、控件对应的回调函数的函数名和控件对应的默认显示方式。
9.根据权利要求7所述的系统,其特征在于,所述控件功能完成模块包括: 第一判断单元,用于在完成⑶I的控件图形显示之后,判断是否具有数组结构,所述数组结构存储有第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与所述第一类控件对应的回调函数对应; 第一读取单元,用于在所述第一判断单元的判断结构为是时,调用所述第一类控件对应的回调函数读取所述第一类控件对应的数据信息,实现所述第一类控件的功能; 第二读取单元,用于在所述第一判断单元的判断结果为否时,读取第二类控件对应的数据信息,实现所述第二类控件的功能,所述第二类控件为GUI中的非同类控件。
10.根据权利要求7-9任一项所述的系统,其特征在于,还包括: 初始化模块,用于初始化GUI ; 操作模块,用于操作GUI中的控件; 判断模块,用于判断是否需要调用特殊回调函数;调用模块,用于在所述判断模块的判断结果为是时,调用预编写的特殊回调函数; 保存模块,用于保存GUI对应的数据至MATLAB的底层变量; 其中,所述保存模块包括: 第二判断单元,用于判断是否具有数组结构,所述数组结构存储有第一类控件对应的数据信息,所述第一类控件为GUI中的同类控件,所述数组结构与所述第一类控件对应的回调函数对应; 第一保存单元,用于在所述第二判断单元的判断结果为是时,调用所述第一类控件对应的回调函数保存所述第一类控件对应的数据信息,将所述第一类控件对应的数据信息保存至MATLAB的底层变量; 第二保存单元,用于在所述第二判断单元的判断结果为否时,保存第二类控件对应的数据信息,将所述第二类控件对应的数据信息保存至MATLAB的底层变量,所述第二类控件为GUI中的非同类控件。
全文摘要
本发明实施例提供一种MATLAB环境下GUI制作方法及系统,其中方法包括生成标准函数,所述标准函数包括GUI基础信息,基础控件对应的函数,和读取及解析可扩展标记语言XML文件的接口;利用所述读取及解析XML文件的接口读取预定义的XML文件,所述XML文件包括GUI控件布局信息,解析所述XML文件,得到所述GUI控件布局信息;依据所述GUI控件布局信息和所述GUI基础信息绘制GUI的界面,完成GUI的控件图形显示;依据所述基础控件对应的函数,及所述GUI控件布局信息实现所述GUI界面中的控件功能。本发明实施例提高了GUI开发的效率。
文档编号G06F17/50GK103150456SQ20131010967
公开日2013年6月12日 申请日期2013年3月29日 优先权日2013年3月29日
发明者潘慧鑫, 刘向, 余江森 申请人:北京经纬恒润科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1