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 的 Embedded Linux 分支平台,在原始 Qt 的基础上,做了许多出色的调整以适合嵌入式环境。删除掉了一些与嵌入式无关的Lib库,使其相对来说更加节省嵌入式平台的内存空间。
2、Qt如何开发呢?
开发要用到的东西:Qt源代码+交叉编译器+一个灵活有创造性的大脑。
编译步骤,如下图所示:
使用交叉编译器编译好的Qt库要在LINUX虚拟机和嵌入式开发板上各一份,有了这个库,我们就可以在上面尽情的编写Qt程序了!(如果需要触摸功能,记得要移植一个开源程序tslib,它相当于底层驱动和上层应用的皇家接口,有效的处理防抖误操作等触摸问题,有机会下次介绍)。
Qt程序可以自己直接编写,出口成章。也可以依托于一个神器!这个神器的名字就是——集成开发环境 Qt Creator,如下图。
Qt Creator 是一个强大的跨平台 IDE,集编辑、 编译、 运行、 调试功能于一体。它不仅有简洁方便的开发界面,同时支持图形化编程。相当于有了它,即使你不会写程序,也可以通过控件的拖拽排布,设计出一个自己喜欢的图形界面。
3、如何编译呢?
程序搞定了,那我们如何编译呢?
有多种方式:
第一,直接使用Qt qmake工具编译;
第二,使用Qt Creator软件直接编译;
第三,市场上的一些第三方编译工具。
编译过程,话不多说,直接看下图,清晰明了:
4、重要知识点
当然,关于Qt开发,还有很多重要的知识点,你必须要知道!这里我主要讲两个。
1)布局管理器
如果你写过基于ARM开发的eMWIN,你一定知道我安放控件时,只需要创建一个控件,把他的颜色、形状、大小、位置全都使用参数配置好就万事大吉了。但是Qt不是这么玩的。
它有三大法器,让它的控件布局不会因为平台改变而扭曲。那就是三种布局管理器,这是能够对窗口部件的尺寸大小和位置进行设置的对象。
QHBoxLayout:在水平方向排列窗口部件,从左到右;
QVBoxLayout:在垂直方向排列窗口部件,从上到下;
QGridLayout:把各个窗口部件排列在一个网格中。
这三个布局管理器可以各种嵌套组合,水乳交融,组合成各种复杂的布局层次。
2) 信号与槽
此外,在Qt海洋里,控件与控件之间,控件与嵌入式板卡之间是如何通信的呢,如何团结合作一同创造复杂的信号通信网络呢?这就要说到第二个知识点——信号与槽。
控件与控件之前可以通过信号与槽的函数格式,将两个信号共通,参数值互相传递和改变,她就好像媒婆一样搭桥牵线。嵌入式LINUX开发的实现主要是文件的打开关闭读写,我们也可以把文件的信息传递给控件,也可以把控件的改变值写入到文件中,做到路路畅通,一路向东!
QT入门你需要学习:
- 配置Qt环境
- 了解信号与槽机制,了解qt moc
- 学习QApplication, QWidget