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

电子说

1.2w人已加入

描述

关于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的时代开始逐步展开。

Qt

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

2Qt如何开发呢?

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

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

编译步骤,如下图所示:

Qt

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

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

Qt

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

3如何编译呢?

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

有多种方式:

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

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

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

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

Qt

4重要知识点

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

1布局管理器

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

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

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

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

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

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

2 信号与槽

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

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

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分