当前位置 : 主页 > 编程语言 > java >

嵌入式LINUX的Qt开发入门教程

来源:互联网 收集:自由互联 发布时间:2022-10-26
关于LINUX的Qt开发,你了解多少?它和ARM的GUI开发差别有多大?如果你还一头雾水,如果你想步入Qt开发的大门,来,这篇文章将为你打开Qt新世界大门。 1你了解Qt吗? Qt是一种基于C++的


  关于LINUX的Qt开发,你了解多少?它和ARM的GUI开发差别有多大?如果你还一头雾水,如果你想步入Qt开发的大门,来,这篇文章将为你打开Qt新世界大门。

  1你了解Qt吗?

  Qt是一种基于C++的跨平台图形用户界面应用程序开发框架。如何跨平台?上到服务器上位机,下到嵌入式GUI,上天入地无所不能。Qt最早是由1991年由Qt Company开发,但是到2008年,Qt Company科技被诺基亚公司收购,是的,就是拥有着我们很多情怀的诺基亚。但在2012年,Qt又被Digia收购。等到了2014年,跨平台集成开发环境Qt Creator 3.1.0正式发布出来,至此,全面支持iOS、Android、WP,QT的时代开始逐步展开。

  

嵌入式LINUX的Qt开发入门教程_linux

  而对于嵌入式开发的我们所使用的Qt,是 Qt 的 Embedded Linux 分支平台,在原始 Qt 的基础上,做了许多出色的调整以适合嵌入式环境。删除掉了一些与嵌入式无关的Lib库,使其相对来说更加节省嵌入式平台的内存空间。

  2Qt如何开发呢?

  下面小编针对于ZLG集团的A7核心板M6G2C系列,Qt嵌入式开发,讲解一下实操的基础步骤。

  开发要用到的东西:Qt源代码+交叉编译器+一个灵活有创造性的大脑。

  编译步骤,如下图所示:

  

嵌入式LINUX的Qt开发入门教程_运维_02

  使用交叉编译器编译好的Qt库要在LINUX虚拟机和嵌入式开发板上各一份,有了这个库,我们就可以在上面尽情的编写Qt程序了!(如果需要触摸功能,记得要移植一个开源程序tslib,它相当于底层驱动和上层应用的皇家接口,有效的处理防抖误操作等触摸问题,有机会下次介绍)。

  Qt程序可以自己直接编写,出口成章。也可以依托于一个神器!这个神器的名字就是――集成开发环境 Qt Creator,如下图。

  

嵌入式LINUX的Qt开发入门教程_qt_03

  Qt Creator 是一个强大的跨平台 IDE,集编辑、 编译、 运行、 调试功能于一体。它不仅有简洁方便的开发界面,同时支持图形化编程。相当于有了它,即使你不会写程序,也可以通过控件的拖拽排布,设计出一个自己喜欢的图形界面。

  3如何编译呢?

  程序搞定了,那我们如何编译呢?

  有多种方式:

  第一,直接使用Qt qmake工具编译;

  第二,使用Qt Creator软件直接编译;

  第三,市场上的一些第三方编译工具。

  编译过程,话不多说,直接看下图,清晰明了:

  

嵌入式LINUX的Qt开发入门教程_运维_04

  4重要知识点

  当然,关于Qt开发,还有很多重要的知识点,你必须要知道!这里我主要讲两个。

  1布局管理器

  如果你写过基于ARM开发的eMWIN,你一定知道我安放控件时,只需要创建一个控件,把他的颜色、形状、大小、位置全都使用参数配置好就万事大吉了。但是Qt不是这么玩的。

  它有三大法器,让它的控件布局不会因为平台改变而扭曲。那就是三种布局管理器,这是能够对窗口部件的尺寸大小和位置进行设置的对象。

  QHBoxLayout:在水平方向排列窗口部件,从左到右;

  QVBoxLayout:在垂直方向排列窗口部件,从上到下;

  QGridLayout:把各个窗口部件排列在一个网格中。

  这三个布局管理器可以各种嵌套组合,水乳交融,组合成各种复杂的布局层次。

  2 信号与槽

  此外,在Qt海洋里,控件与控件之间,控件与嵌入式板卡之间是如何通信的呢,如何团结合作一同创造复杂的信号通信网络呢?这就要说到第二个知识点――信号与槽。

  控件与控件之前可以通过信号与槽的函数格式,将两个信号共通,参数值互相传递和改变,她就好像媒婆一样搭桥牵线。嵌入式LINUX开发的实现主要是文件的打开关闭读写,我们也可以把文件的信息传递给控件,也可以把控件的改变值写入到文件中,做到路路畅通,一路向东!

  打开APP阅读更多精彩内容

网友评论