APP下载

基于Linux操作系统下的qt开发

2018-09-17朱敦达

科教导刊·电子版 2018年24期
关键词:组态软件

朱敦达

摘 要 Linux操作系统在产品当中应用的越來越广泛,在Linux操作系统中进行软件开发成为当前软件研究的一个热点问题,本文介绍了几种比较常见的嵌入式Linux组态软件开发的特点,之后对可以应用在qt平台之上的Linux开发环境进行了介绍,总结了使用qt进行Linux程序开发的基本方法,并着重介绍了如何利用qt进行组态软件的基础设计,并总结了该项技术如何应用于具体的平台之上。

关键词 组态软件 qt平台 数据库开发

中图分类号:TP391 文献标识码:A

Linux操作系统的用户数量不断增多,由于Linux系统的代码是开放性的,因此在网络方面具有强大优势,使用Linux操作系统已经逐渐成为工业应用领域的选择。随着嵌入式Linux开发应用的越来越普遍,各种嵌入式Linux操作系统的开发技术已经逐渐变得完善,根据系统的数据库和日志文件可以对技术的支持和应用进行维护,在嵌入式系统当中植入Linux可以应用的组态软件越来越成为一种趋势,多平台支持的组态软件越来越成为一种可能,常见的组态软件有Supervisory Control等,这种组态软件可以同时兼容Linux系统和Win NT系统,根据系统软件应用的现状,本文介绍了一些利用嵌入式Linux系统组态软件进行设计的方法。

1嵌入性Linux软件设计

1.1嵌入式GUI

比较常见的Linux主要由miniGUI和主要有飞漫公司开发的Micro Windows以及由Troltech公司开发的qt和由GTK开发的GTK+。

使用miniGUI进行开发的第一步首先是建立一个比较成熟的引擎,比如使用SVGALib或者使用LibGGI,进行开发的重中之重在于窗口的设置,在图形接口的设计方面,需要引入MiniGUI的开发,需要引入的是图形层面的抽象设计和输入层面的抽象设计,利用的是GAL和IAL的概念。可以尝试利用GAL或者LAL进行图形的设计,利用MiniGUI进行图形引擎的设计,便于图形进行移植和保留。并且程序设计出来可以和普通的Windows系统兼容,在进行win系统应用设计的时候,也可以采用例如miniGUI这样的方法。

如果是使用MicroWindows目前的开发主要是底层的引擎,如何进行窗口的开发或者是图形的设计还有待研究,但是任何操作系统如果没有窗口的支持都是没有办法进行操作的,因此如果仅仅是对显示设备进行操作,这种操作系统就显得过于小巧,如何将这种系统移植到设备之上会成为一个问题,如果最上层的API可以起到支持Win32或者支持NanoX的作用,那么就有可能实现win32和X Window窗口保持一致,这些系统如果可以兼容互相移植起来就会显得比较容易。

在系统设计的时候常用的GTK也是一种开放源代码的图形设计程序,这种程序是Tool Kit的缩写,目前所主要采用的图形所主要使用的就是这种比较常见的高层数据库,由于这种软件的模块设计和C语言程序的编程具备良好的兼容属性,因此运行比较稳定,常见的运行库也比较小巧,加上GTK和X服务器的体积仅仅占有3MB左右的空间,因此具备良好的兼容性,可以节省大量存储空间,这种软件完全可以用来开发嵌入式GUI系统,进行系统应用的开发可以免费得到网上可能获取的各种资源,这种应用程序可以免费从网上获取各种代码,具备上述优势之后Linux系统常见的操作之一就是获得GNOME应用GTK开发一些较为强大的功能。

利用qt平台可以进行和C++程序一样的图形界面设计,根据程序的框架进行一些多平台的系统应用,注重用户体验的同时可以有精美的用户界面设计,所具有的元素主要是一些图形的用户界面,利用面向用户的思想,根据用户对扩展应用的熟悉程度,可以形成一种面向对象的思想,因此用户对界面进行设计是具有应用基础的,基于一种面向对象的设计思想,用户对界面的扩展也显得设计方便,在进行组件编程的时候也具有应用方便的优势。

因此根据MinGUI或者Micro Window和GTK进行Linux系统软件的设计,对于一般工业用户或者单纯的系统应用用户来说都比较方便,对于普通工业领域的用户或者单纯Linux系统的用户,进行开发设计都需要时间适应。考虑到组件的开发需要多系统平台,需要多用户的应用,需要利用多控件的支持,因此需要利用丰富的软件库支持,进行qt开发需要程序设计方面的选择,利用qt平台进行开发是最好的选择。

1.2进行qt应用开发的程序

可以尝试利用如下两种方法进行嵌入式Linux系统环境的开发,一种是尝试利用qt平台提供的设计工具qt designer进行系统用户界面的设计,或者是利用图形界面的生成工具直接进行图形界面的设计,可以尝试利用图形界面进行多用户界面的快速设计,尝试利用多种程序代码进行系统的开发应用,通过多种程序的开发,可以在多种系统当中生成应用程序的代码,利用快速的开发手段,进行程序设计可以实现基于Linux环境和Window系统的交叉编译,通过多种程序设计的qt designer的用户对象设计可以编译MOC和用户编辑器UIC,进行代码转换和代码编译可以生成额外的执行文件。还可以通过手动编辑的编译方法来进行程序的设计和实现,通过利用windows系统环境下的VC++编写,可以实现代码的优化设计,在VC++平台之下可以实现Tools菜单当中的功能,在弹出的对话框中可以有Add选项,选择ins and Macro files等功能就可以实现。

2系统组态软件的设计和相关技术的实现

2.1组态软件设计的基本理论

运用组态软件进行开发环境和运行环境的设计需要利用Linux系统或者Window系统进行程序的交叉编译,可以尝试利用Intel环境和PXA250平台进行软件的环境设计。可以尝试通过I/O程序从设备上获取数据,通过数据整合之后在屏幕上进行显示,还可以尝试利用图形界面的方式将投影直观的展示到计算机屏幕当中,同时还可以按照组态的设计和操作人员的指令将相关数据汇总到设备平台之上,对执行机构的设计进行参数调控。通过对数据采集分析的应用,将动画界面和报警设置进行调配,通过动画进行动态设计,在警报设置的时候利用用户进行多流程的设计,在输入和输出设置当中利用多用户界面解决实际问题,动态软件的开发所主要利用的就是用户的界面设计程序,通过数据库系统和通信组件的合成,可以设计出设备驱动组件,其中不仅可以设计实时监控系统也可以设计数据的动态核心引擎,图形界面的设计和驱动程序的设计都可以通过软件的数据库实现,可以尝试利用内部协议进行数据共享和数据添加操作。

2.2实现组态软件的技术

组态软件的技术实现需要多方面的技术特点进行支持,首先是程序底层的设计,进行图像的模拟需要根据显示仪器的状态进行设置,对于图形和界面的设计需要根据现场的状况进行设计,根据事件的驱动进行调整,事件驱动支持系统需要运用多种程序进行数据库的选择,根据图形和应用的数据对象之间的支持数据库进行选择,建立起动画和图形界面的联系,选择图形需要整个动态数据库搭建起桥梁,进行第三方的应用和核心组的设计需要利用数据库进行文件支持。Qt组件的设计需要基于framebuffer进行,在Linux系统架构之下需要根据系统架构的版本进行设计,找准动态接口之后设计出相应的LCD接口和初始化端口,包括画面缓冲区域和相应的DMA 区域的控制,同时需要针对画面缓冲设置一对读写代码,具体根据查找的需要可以适用不同的数据接口,根据qt系统底层的抽象设计可以设计QScreen或者类似于QGfx的设计,根据QScreen可以尝试抽象的底层现实数据,如果明了显示设备的描述和操作之后,在系统打开和关闭功能的设计之上就可以建立不同的操作对象。Qt的底层设计有一些类似于Qscreen的种类,可以进行底层设计的同时,对于显示设备的基本描述和操作方法的设计也能进行,如果声明了对于基础显示设备的描述和操作之后,还可以在打开和关闭方面进行操作,在打开和关闭的时候可以尝试不同的操作对象的创建,在QGfx的设计和抽象显示的设备操作方面进行接口的设计和画面比例的选择,可以设计画面的帧速率和矩形设计等步骤,进行简单的ALPHA操作。

进行qt的操作可以基于qt技术实现Signal的操作,不同于大多数的GUI工具,大多数的GUI都可以进行数据软件的控制,所控制的都是一些函数的模拟,在QT的设计当中,进行Signal和Slot设计都需要进行一些基础替代,回调部分函数的指针,在应用Slot的时候需要关注对象间的复杂操作,图形和图像之间需要根据数据接口进行窗口图形的设计和实时数据的现实,图形画面的链接主要根据窗口图形的设计和实时数据的传输建立相关性对象,在设计的时候需要关注动画属性,可以尝试将物理属性和参数特征结合到一起,这样在系统运转的过程中,系统界面也会活动起来,形成的图像就会逼真而生动。

Qt中所有的软件设计需要基于Qevert,qt的回路设计的就是列队里面取得的本地窗口需要转换成QEvent,然后需要将相关的事件转化后发到QObject当中去,根据具体的QObject设计相应具体的函数进行调用和接收,这是一种内部程序的生成机制。Qt中与内部程序相对应的生成机制都是建立在底层输入设备之上的,qt当中的输入设备都具有一些键盘和鼠标组件,其中的鼠标可以抽象为QWSMouseHandle,键盘设备当中的抽象软件大都是利用QWSMouseHandle进行设计的。

2.3组态软件的核心

和windows操作系统类似的还有一些数据库的操作系统,需要建立相应的数据库进行对照,对数据库进行配置之后对相应的设置文件进行编译和操作,在Linux系统的数据库当中,可以尝试Oracle和sql等多种,常见的数据库就是MYSQL。该数据库是根据客户机和服务器建立起来的简单的管理数据库,通过服务器和相应的客户程序连接起来,根据客户程序的不同和数据库组成的不同,进行相应的代码开发,方便用户自由的使用。根据强大和灵活的属性,可以进行丰富端口的设计,相应的编译程序和端口程序也比较小巧,在系统顶层设计MySQL和ODBC等基本结构,可以方便的进行数据库的访问等操作,在对应的多种设计语言的帮助之下,可以方便的对不同的编译程序进行设计。例如以MySQL为例,可以在Linux系统当中实现多步骤的操作。

3结语

在总结了几种常见的嵌入式Linux系统的GUI设計方法和特征的应用之后,在动态数据组件的设计之中可以尝试进行qt系统的开发和应用,本文所着重阐述的就是qt程序的开发,所着重论述的就是系统组件的实现和相关技术的合成,当组成了一种嵌入式系统之后,就可以实现在Linux系统环境当中进行qt系统工具的开发和Linux系统组件的设计。

参考文献

[1] 廖熹,易克非.基于嵌入式Linux系统下的Qt测试软件开发[J].兵工自动化,2013,32(08):94-96.

[2] 刘治国,陈新华.基于Linux和Qt的智能家居系统的设计与实现[J].电子技术应用,2012,38(04):23-26.

猜你喜欢

组态软件
在楼宇控制系统中组态软件的应用
基于电气消防控制系统的动态教学模式研究
基于面向对象的组态软件实时数据库的设计
PLC与组态软件在空压机气源测控系统中的应用
基于WebAccess的PLC远程控制系统设计