找回密码
 立即注册
Qt开源社区 门户 查看内容

嵌入式QT编程的几个小技巧

2019-2-9 08:19| 发布者: admin| 查看: 940| 评论: 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吧,会让你的系统变得有生命有活力!

> > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > > >
如何分享到朋友圈点击右上角

在弹出菜单选择

分享到朋友圈
如何关注 " 畅学电子 "1. 在微信上点击右上角”+" 点击“添加朋友" → 在"查找公众号"里搜索" 畅学电子 "即可查找并关注
2. 搜索微信号" 畅学电子 "也可查找并关注我们
如何查看往期的历史消息点击右上角图标进入"账号资料" → "查看历史消息"
畅学电子订阅号微信名:畅学电子
每天更新电子行业各种知识,及单片机最新资讯,来开启你的视觉盛宴吧
畅学电子服务号微信名:畅学电子
一个新型的知识分享平台,在线查看畅学电子网的最新文章、在线视频等,带你进入电子工程师技术开发学习的世界

==> 前往 www.eeskill.com 学习更多知识!


-------------------------------------------------------------------------
我们尊重原创,也注重分享,如若侵权请联系qter@qter.org。
-------------------------------------------------------------------------

鲜花

握手

雷人

路过

鸡蛋

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了