【嵌入式】[原创]嵌入式QT编程的几个小技巧
0赞炎炎夏日,大家的激情不减啊,嵌入式竞赛搞得如火如荼啊。
做嵌入式系统的童鞋都需要用到QT,这个可视化的编程工具确实非常强悍,今天我就写写这方面的内容,通过几个小技巧让大家更喜欢这个工具。
1、Qt信号和插槽通信
Signal和Slot是Qt中一种用于对象间通信的调用机制,不同于传统的函数回调方式。信号和插槽是Qt中非常有特色的地方,可以说是Qt编程区别于其它编程的标志。
信号和插槽不是标准C++功能,需要特殊的语句才能创建信号和插槽,但是C++编译器不能理解这些语句。必须经过特殊的工具对象编辑器MOC(Meta Object Compiler)将源代码中创建信号和插槽的语句翻译成C++编译器能够理解的代码。
步骤:
(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹signalslot。
$ cd /sbc2410/x86-qtopia
$ mkdir signalslot
(2)进入signalslot目录,建立文件signalslot.cpp,并编写程序,然后用progen命令生成工程文件signalslot.pro。
$ cd signalslot
$ vi signalslot.cpp
$ progen –t app.t –o signalslot.pro
(3)使用tmake工具,生成signalslot工程的Makefile文件,并按照6.1小节进行修改,然后编译,得到可执行文件signalslot。
$ tmake –o Makefile signalslot.pro
(4)启动虚拟控制台,运行signalslot程序,点击“Quit”按钮,程序将退出。
$ ./signalslot -qws
信号和插槽实验结果
2、按钮
一个友好的图形界面,一般都会有对话框,用于人机交互。Qt中有很多类型的对话框,如颜色对话框、字体对话框、文件对话框、输入对话框和消息对话框等。不同对话框都有一系列的API函数,调用这些函数必须包含头文件qdialog.h。
(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹dialog.。
$ cd /sbc2410/x86-qtopia
$ mkdir dialog
(2)进入dialog目录,建立文件userdialog.h和userdialog.cpp,并编写程序,然后用progen工具生成工程文件userdialog.pro。
$ cd dialog
$ vi userdialog.h
$ vi userdialog.cpp
$ progen –t app.t –o userdialog.pro
(3)使用tmake工具生成userdialog工程的Makefile文件,并进行修改,编译生成可执行文件userdialog。
$ tmake –o Makefile userdialog.pro
$ make
(4)启动虚拟控制台,运行userdialog程序,点击POPUP按钮,将会弹出一个新的对话框,点击对话框的POPDOWN按钮,新对话框将关闭。
$ ./userdialog -qws
对话框实验结果
3、Qt布局
一个用户图形界面,布局也是至关重要,合理的布局能增加界面的美感,亦能够提高软件的易用性。图形界面编程,一般包括基本组件、组件的布局以及组件的回调。Qt中有很多种布局,最基本的就是QLayout(包括QBoxLayout:QHBoxLayout,QVBoxLayout)和QGridLayout。使用了布局相关API函数的应用程序,需要包含头文件qlayout.h。
步骤:(1)进入/sbc2410/x86-qtopia目录,运行set-env脚本,设置环境变量,然后创建文件夹layout。
$ cd /sbc2410/x86-qtopia
$ . set-env
$ mkdir layout
(2)进入layout目录,建立文件layout.cpp,并编写程序,然后用progen工具生成工程文件layout.pro。
$ cd layout
$ vi layout.cpp
$ progen –t app.t –o layout.pro
(3)使用tmake工具,生成layout工程的Makefile文件,并进行修改,编译,得到可执行文件layout。
$ tmake –o Makefile layout.pro
(4)启动虚拟控制台,运行layout程序。
$ ./layout -qws
Qt布局实验结果
今天就写这么多吧,爱上嵌入式的孩纸们,善用、巧用、多用QT吧,会让你的系统变得有生命有活力!如果对你有帮助,就给我投票吧,谢谢啦!