CN103176770A - 一种数控系统中界面系统的创建方法 - Google Patents
一种数控系统中界面系统的创建方法 Download PDFInfo
- Publication number
- CN103176770A CN103176770A CN2011104311434A CN201110431143A CN103176770A CN 103176770 A CN103176770 A CN 103176770A CN 2011104311434 A CN2011104311434 A CN 2011104311434A CN 201110431143 A CN201110431143 A CN 201110431143A CN 103176770 A CN103176770 A CN 103176770A
- Authority
- CN
- China
- Prior art keywords
- interface
- file
- glade
- table container
- container member
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Stored Programmes (AREA)
Abstract
一种数控系统中界面系统的创建方法,在glade平台上建立界面框架,采用虚拟table容器构件做为界面框架的基本元素,建立适应不同分辨率的界面框架和界面层次关系;采用cairo函数库编写自定义构件添加到所建立的界面框架中;采用rc文件配置所述界面框架中各构件的属性;采用gtk+函数库编写相应的处理函数。能够将自定义构件添加到所建立的界面框架中,解决了界面开发的难度。扩展性较强,能够适应不同分辨率的要求。能够方便快捷地调换画面层次或调用构件类型。
Description
技术领域
本发明涉及一种界面系统的创建方法,特别是涉及一种数控系统中的界面系统的创建方法。
背景技术
目前,多数的数控系统界面是在windows下开发,在Linux操作系统下,要开发数控系统的界面系统的平台较少,而且存在着开发周期较长,效率较低,扩展性较差,另外还需要支付昂贵的版权费等问题。总体可以概括为以下几种问题:
(1)用Linux操作系统开发界面系统的平台扩展性较差(多数情况下):有些界面系统开发平台中不支持自定义构件,需要额外绑定一些开发工具才能制作相应的构件,这样就增加了开发流程,加大了开发难度。
(2)在Linux操作系统下大多数界面系统的开发平台开发周期较长,效率较低:界面系统开发是一项非常繁琐的工作,开发一个界面系统往往需要经过很多次调整才能达到需要设计的效果。但采用Linux操作系统时,进行每次调整都需要通过改代码来查看实现情况,其界面系统的设计和处理功能没有分开这就势必降低开发的效率。
(3)在Linux操作系统下,一些好的界面系统开发平台大都为非开源的。在Linux系统下,多数界面系统开发平台不遵循Lesser General PublicLicense(LGPL)许可,如:SIEMENS数控系统的界面系统用的是QT平台开发,而要开发商业化的界面系统就需要向各平台公司支付极其昂贵的费用,同时也不利于代码的移植。
现有技术中,中国专利申请号200810022449.2提供一种《一机多界面数控系统的实现方法及系统》,是一种利用一台主机可实现多种界面数控系统教学用的一机多界面数控系统的实现方法及系统。该实现方法不适合再为扩展开发界面系统所用。
发明内容
本发明的目的是为了克服上述现有技术中,采用Linux操作系统所存在的开发界面系统的平台扩展性较差,开发周期较长,效率较低等缺陷,提供一种界面系统的扩展性较好,提高界面系统开发的效率,缩短开发周期的界面系统的创建方法。
本发明为了达到上述的目的,提供一种数控系统中界面系统的创建方法,所采取的技术方案是:在glade平台上建立界面框架,采用table容器构件(为虚拟容器)做为界面框架的基本元素,建立适应不同分辨率的界面框架和界面层次关系;采用cairo函数库编写自定义构件添加到所建立的界面框架中;采用rc文件配置所述界面框架中各构件的属性;采用gtk+函数库编写相应的处理函数。
本发明界面系统的创建方法具有显著的进步。
如上述本发明的创建方法,因为本发明是在glade平台上建立界面框架,并采用虚拟table容器构件做为界面框架的基本元素,建立适应不同分辨率的界面框架和界面层次关系。因为可以根据在glade平台上建立界面框架的比例大小,首先用table容器构件填充整个界面外框,以此作为界面的底层table容器构件,并按最小比例单元,把底层table容器构件等分成若干等份单元格,得到底层table容器构件中一个等份单元格的像素大小值。之后再用table容器构件(这里指的构件均为table容器构件)分别来填充底层table容器构件中相应的等份单元格,从而得到所规划的各区域的大小值。最后在各区域中添加所需要的构件,即建成了界面层次关系。由此可以看出,本发明的方法可以按照所要求规划的各区域的大小值进行添加构件。所以,本发明的方法扩展性较强,能够适应不同分辨率的要求。而且,容易开发,开发效率较高,开发周期较短。
如上述本发明的创建方法,因为本发明是采用cairo函数库编写自定义构件添加到所建立的界面框架中。因为利用cairo函数库能够直接编写绘制自定义构件添加到所建立的界面框架中。这就解决了现有技术中界面系统中开发平台不具有编辑自定义构件的功能,要编辑自定义构件需要额外绑定相应的语言开发包等,使得开发流程较复杂,难度较大的问题。
如上述本发明的创建方法,因为本发明采用rc文件配置所述界面框架中各构件的属性。因此,在编写rc文件时,可以设置各个构件类型所要求的各项属性,包括:构件内部字体、颜色、激活时和非激活时的属性等内部及外观属性。这就解决了一般的Linux界面开发平台中,构件的外观属性都是写入代码中的,不能根据需求随时改变构件的外观属性,扩展性差的问题。
如上述本发明的创建方法,因为本发明采用gtk+函数库编写相应的处理函数,比如编写回调函数,能够方便快捷地调换画面层次或调用构件类型。
如上述本发明的创建方法,因为本发明所采用的glade平台、cairo函数库、rc文件以及gtk+函数库相互配合组成的方法建立了一个界面系统开发平台,提供了一种免费的界面开发系统。遵循了LGPL许可,避免了进行商业化开发时需要支付昂贵的版权费问题。
附图说明
图1是本发明界面系统的创建方法一实施例的流程图;
图2是建立适应不同分辨率的框架及界面层次关系一实施例的子流程图;
图3是编辑自定义构件一实施例的子流程图;
图4是配置构件属性一实施例的子流程图;
图5是编写处理函数一实施例的子流程图。
具体实施方式
下面结合附图和实施例进一步说明本发明界面系统的创建方法。
如图1所示,本发明创建界面系统的具体方法步骤是:
第一步01,规划所要创建的界面系统,设定界面外框,规划各显示区域,设定各显示区域的比例关系,进入glade平台进行编辑;
第二步02,在glade平台上建立适应不同分辨率的界面框架,采用table容器构件(为虚拟容器)填充所设定的整个界面外框,以此做为界面的底层table容器构件。并根据所设定的最小比例区域,把底层table容器构件等分成(若干个)等份单元格,得到底层table容器构件中等份单元格的像素值,再获取各显示区域的像素值;
第三步03,建立界面层次关系后,判断上述所建立的构件中有无所需要的构件,如果没有所需要的构件,则进行第四步04;如果已有所需要的构件,则对于所在的table容器构件进行布局后进行第五步05(所述第一、二、三步01、02、03的具体方法步骤参见图2的子流程);
第四步04,采用cairo函数库编辑所需要的自定义构件,加载到上述所建立的界面框架中,再对于table容器构件进行布局后进行第五步05(具体方法步骤参见图3的子流程);
第五步05,采用rc文件编写配置所述界面框架中各构件的属性,即采用rc文件编写配置文件,用以配置界面框架中各构件的属性,生成glade文件(具体方法步骤参见图4的子流程);
第六步06,采用gtk+函数库编写相应的处理函数,用gtk+函数库编写相应的回调函数,以便从glade文件中引出相应的构件(具体方法步骤参见图5的子流程),至此建成界面系统。
图2是建立适应不同分辨率的框架及界面层次关系一实施例的子流程。如图2所示,建立适应不同分辨率的框架及界面层次关系的具体方法步骤是:
第一步11,首先规划总体界面系统,并在glade平台上按照规划设定界面外框。由于数控系统界面的分辨率不是统一的,有800*600的分辨率,也有1024*768的分辨率。在本实施例中,设定为800*600的分辨率(为界面像素大小值);
第二步12,规划显示区域,并设定各显示区域之间的大小比例关系;
第三步13,采用table容器构件填充整个界面外框,以此做为界面的底层table容器构件;
第四步14,根据所述第二步12中设定的最小比例显示区域,把底层table容器构件等分成(若干个)等份单元格,得到底层table容器中一个等份单元格的像素值;
第五步15,再用table容器构件分别填充底层table容器构件中相应的等份单元格,从而得到所规划的各区域的像素值;
第六步16,在各显示区域中添加所需的构件(这里所指的构件均为table容器构件),设置底层各显示区域(table容器构件)需要显示的内容,并摆放相应的构件;
第七步17,设置table容器构件相应的属性(如在本实施例中,所设置的属性包括:不激活、隐藏等),并判断有否下一层需要显示的内容,若有下一层需要显示的内容则进行下一步;若没有下一层需要显示的内容,则进行最后一步110,完成界面框架的不同分辨率和界面层次关系的设置;
第八步18,将上述第六步16中table容器构件压缩到底层table容器构件中的一个等份单元格中;
第九步19,根据第六步16再设置下一层各显示区域(table容器构件)要显示的内容,并摆放相应的构件,然后再进行第七步17操作完成后进到最后一步110;
第十步110,完成界面框架的不同分辨率和界面层次关系的设置。
图3是编辑自定义构件一实施例的子流程。如图3所示,编辑自定义构件的具体方法步骤是:
第一步21,采用cairo函数库,编写所需要的自定义构件,并保存为gtk+文件格式;
第二步22,再通过gcc编译器将上述gtk+文件编译生成所需要的.so库文件;
第三步23,将所述.so库文件拷贝到系统中glade库(glade平台上)目录下和系统的/usr/lib/目录下;
第四步24,编写描述自定义构件的xml文本,并将其拷贝到glade库(glade平台上)的共享目录下;
第五步25,最后重启glade平台,将自定义构件添加到已建立的界面框架中。
图4是配置构件属性一实施例的子流程。如图4所示,配置构件属性的具体方法步骤是:
第一步31,编写rc文件,设置各构件类型所要求的各项属性(如在本实施例中,所设置的构件属性包括:构件内部字体、颜色、激活时和非激活时的属性);
第二步32,判断构件是否为透明类型,如果不是则进行第四步34;如果是则进行第三步33;
第三步33,在透明构件中添加事件盒构件,并直接定义事件盒构件的构件类型属性;
第四步34,在main函数中定义构件类型属性,即在main函数中去定义哪一种构件用什么构件类型属性;
第五步35,最后在rc文件中连接main函数中的构件属性,生成glade文件。
图5是编写处理函数一实施例的子流程。如图5所示,编写处理函数的具体方法步骤是:
第一步41:加载上述已生成的glade文件;如在本实施例中执行:
//加载glade文件
gtk_builder_add_from_file(builder,″xp.glade″,NULL);
第二步42:从glade文件中引出相应的构件;如在本实施例中执行:
//从glade中引出相应的构件
window_main=GTK_WIDGET(gtk_builder_get_object(builder,″window_main″));
第三步43:连接所需要的触发函数;如在本实施例中执行:
//连接所要触发的函数
gtk_signal_connect(GTK_OBJECT(but1),″clicked″,GTK_SIGNAL_FUNC(but1_do),NULL);
第四步:采用gtk+函数库编写回调函数,用来调用相应的构件进行显示。编写回调函数用以方便地显示哪一层的画面,或者调用哪一种构件。如在本实施例中执行:
//回调函数
void but1_do()
{
//处理相应事件
}以此调换显示画面层次或调用构架类型。
Claims (6)
1.一种数控系统中界面系统的创建方法,其特征在于在glade平台上建立界面框架,采用table容器构件做为界面框架的基本元素,建立适应不同分辨率的界面框架和界面层次关系;采用cairo函数库编写自定义构件添加到所建立的界面框架中;采用rc文件编写配置所述界面框架中各构件的属性;采用gtk+函数库编写相应的处理函数。
2.根据权利要求1所述的数控系统中界面系统的创建方法,其特征在于具体的方法步骤是:
第一步,规划所要创建的界面系统,设定界面外框,规划各显示区域,设定各显示区域的比例关系,进入glade平台进行编辑;
第二步,在glade平台上建立适应不同分辨率的界面框架,采用table容器构件填充所设定的整个界面外框,以此做为界面的底层table容器构件,并根据所设定的最小比例区域,把底层table容器构件等分成等份单元格,得到底层table容器构件中等份单元格的像素值,再获取各显示区域的像素值;
第三步,建立界面层次关系后,判断上述所建立的构件中有无所需要的构件,如果没有所需要的构件,则进行第四步;如果已有所需要的构件,则对于所在的table容器构件进行布局后进行第五步;
第四步,采用cairo函数库编辑所需要的自定义构件,加载到上述所建立的界面框架中,再对于table容器构件进行布局后进行第五步;
第五步,采用rc文件编写配置文件,用以配置界面框架中各构件的属性,生成glade文件;
第六步,采用gtk+函数库编写相应的处理函数,用gtk+函数库编写相应的回调函数,以便从glade文件中引出相应的构件,至此建成界面系统。
3.根据权利要求1或2所述的数控系统中界面系统的创建方法,其特征在于所述建立适应不同分辨率的框架及界面层次关系的具体方法步骤是:
第一步,首先规划总体界面系统,并在glade平台上按照规划设定界面外框;
第二步,规划显示区域,并设定各显示区域之间的大小比例关系;
第三步,采用table容器构件填充整个界面外框,以此做为界面的底层table容器构件;
第四步,根据所述第二步中设定的最小比例显示区域,将底层table容器构件等分成等份单元格,得到底层table容器构件中一个等份单元格的像素值;
第五步,再用table容器构件分别填充底层table容器构件中相应的等份单元格,从而得到所规划的各区域的像素值;
第六步,在各显示区域中添加所需的构件,设置底层各显示区域需要显示的内容,并摆放相应的构件;
第七步,设置table容器构件相应的属性,并判断有否下一层需要显示的内容,若有下一层需要显示的内容则进行下一步;若没有下一层需要显示的内容,则进行最后一步,完成界面框架的不同分辨率和界面层次关系的设置;
第八步,将上述第六步中table容器构件压缩到底层table容器构件中的一个等份单元格中;
第九步,根据第六步再设置下一层各显示区域需要显示的内容,并摆放相应的构件,然后再进行第七步操作完成后进到最后一步;
第十步,完成界面框架的不同分辨率和界面层次关系的设置。
4.根据权利要求1或2所述的数控系统中界面系统的创建方法,其特征在于所述编辑自定义构件的具体方法步骤是:
第一步,采用cairo函数库,编写所需要的自定义构件,并保存为gtk+文件格式;
第二步,再通过gcc编译器将上述gtk+文件编译生成所需要的.so库文件;
第三步,将所述.so库文件拷贝到系统中glade库目录下和系统的/usr/lib/目录下;
第四步,编写描述自定义构件的xml文本,并将其拷贝到glade库的共享目录下;
第五步,最后重启glade平台,将自定义构件添加到已建立的界面框架中。
5.根据权利要求1或2所述的数控系统中界面系统的创建方法,其特征在于所述配置构件属性的具体方法步骤是:
第一步,编写rc文件,设置各构件类型所要求的各项属性;
第二步,判断构件是否为透明类型,如果不是则进行第四步;如果是则进行第三步;
第三步,在透明构件中添加事件盒构件,并直接定义事件盒构件的构件类型属性;
第四步,在main函数中定义构件类型属性;
第五步,最后在rc文件中连接main函数中的构件属性,生成glade文件。
6.根据权利要求1或2或5所述的数控系统中界面系统的创建方法,其特征在于所述编写处理函数的具体方法步骤是:
第一步:加载上述已生成的glade文件;
第二步:从glade文件中引出相应的构件;
第三步:连接所需要的触发函数;
第四步:采用gtk+函数库编写回调函数,以此调换显示画面层次或调用构架类型。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104311434A CN103176770A (zh) | 2011-12-21 | 2011-12-21 | 一种数控系统中界面系统的创建方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011104311434A CN103176770A (zh) | 2011-12-21 | 2011-12-21 | 一种数控系统中界面系统的创建方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103176770A true CN103176770A (zh) | 2013-06-26 |
Family
ID=48636677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011104311434A Pending CN103176770A (zh) | 2011-12-21 | 2011-12-21 | 一种数控系统中界面系统的创建方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103176770A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823674A (zh) * | 2014-02-12 | 2014-05-28 | 陈昱 | 云计算系统及其终端的实现方法 |
CN104360855A (zh) * | 2014-11-04 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 采用图形用户界面安装程序的方法 |
CN109426353A (zh) * | 2017-08-17 | 2019-03-05 | 凌华科技股份有限公司 | 架构于非侵入式数据撷取系统客制化显示画面的系统模块 |
CN112506137A (zh) * | 2020-11-02 | 2021-03-16 | 南通恒康数控机械股份有限公司 | 应用于数控海绵切割机的控制界面的设计方法 |
CN113867664A (zh) * | 2021-09-10 | 2021-12-31 | 北京四方继保工程技术有限公司 | 一种远动设备液晶界面开发方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0701202A1 (en) * | 1994-09-09 | 1996-03-13 | International Computers Limited | Graphical user interface for a computer system |
CN102236548A (zh) * | 2010-04-30 | 2011-11-09 | 深圳市先阳软件技术有限公司 | 一种基于linux的工控软件界面的设计方法及其系统 |
-
2011
- 2011-12-21 CN CN2011104311434A patent/CN103176770A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0701202A1 (en) * | 1994-09-09 | 1996-03-13 | International Computers Limited | Graphical user interface for a computer system |
CN102236548A (zh) * | 2010-04-30 | 2011-11-09 | 深圳市先阳软件技术有限公司 | 一种基于linux的工控软件界面的设计方法及其系统 |
Non-Patent Citations (2)
Title |
---|
朱汉群,苏厚勤,吴丰科: "Linux GUI开发工具Gtk+技术应用研究", 《计算机应用与软件》 * |
赵毅,马捷: "利用Python和GTK+的Linux GUI应用的快速开发", 《计算机工程》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103823674A (zh) * | 2014-02-12 | 2014-05-28 | 陈昱 | 云计算系统及其终端的实现方法 |
CN103823674B (zh) * | 2014-02-12 | 2017-04-05 | 陈昱 | 云计算系统及其终端的实现方法 |
CN104360855A (zh) * | 2014-11-04 | 2015-02-18 | 浪潮(北京)电子信息产业有限公司 | 采用图形用户界面安装程序的方法 |
CN104360855B (zh) * | 2014-11-04 | 2018-11-13 | 浪潮(北京)电子信息产业有限公司 | 采用图形用户界面安装程序的方法 |
CN109426353A (zh) * | 2017-08-17 | 2019-03-05 | 凌华科技股份有限公司 | 架构于非侵入式数据撷取系统客制化显示画面的系统模块 |
CN109426353B (zh) * | 2017-08-17 | 2021-12-28 | 凌华科技股份有限公司 | 架构于非侵入式数据撷取系统客制化显示画面的系统模块 |
CN112506137A (zh) * | 2020-11-02 | 2021-03-16 | 南通恒康数控机械股份有限公司 | 应用于数控海绵切割机的控制界面的设计方法 |
CN113867664A (zh) * | 2021-09-10 | 2021-12-31 | 北京四方继保工程技术有限公司 | 一种远动设备液晶界面开发方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113703749B (zh) | 一种基于可视化编程技术的信息系统及其构建方法 | |
CN103108243B (zh) | 电视机显示屏参数独立和升级的方法及其系统 | |
JP4812337B2 (ja) | フォームタイプを使用してフォームを生成する方法および装置 | |
CN103176770A (zh) | 一种数控系统中界面系统的创建方法 | |
CN104090749A (zh) | 一种WinCE产品界面主题更新变换处理方法及系统 | |
CN101814024A (zh) | 一种跨平台3d界面设计架构和工具 | |
CN103635871A (zh) | 使用户界面和输入控制适应的方法 | |
US20140053063A1 (en) | User interface control framework for stamping out controls using a declarative template | |
CN112711408A (zh) | 基于Vue组件化的可视化配置渲染方法、系统、终端 | |
RU2402063C2 (ru) | Простое применение стилей | |
CN104317587A (zh) | 面向安卓移动设备的程序自动生成方法 | |
TW200532485A (en) | Grid canvas | |
CN103309659A (zh) | 基于富客户端的用户界面动态生成方法及其生成装置 | |
CN103019682A (zh) | 一种通过自定义图形组合在svg中展示数据的方法 | |
CN103150198B (zh) | 一种组态软件的显示方法 | |
CN106250156A (zh) | 组件构建方法和装置、组件调用方法和装置 | |
CN100498698C (zh) | 通用界面设计接口系统及使用该系统的界面开发方法 | |
US20140196003A1 (en) | Image Processing Software Development Method, Image Processing Software Development Device, and Image Processing Software Development Program | |
CN101374213A (zh) | 电视人机界面自定义的实现方法 | |
CN101876917A (zh) | 一种开发控件的方法及装置 | |
CN102541566A (zh) | 半导体软件界面框架生成方法 | |
CN102637406A (zh) | 一种led显示设计系统及方法 | |
CN102289428A (zh) | 一种批量生成表单的方法和装置 | |
CN100449484C (zh) | 一种生成仿真设备面板的方法及系统 | |
US8930830B2 (en) | Context-aware composites of functional modules |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130626 |