完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
飞凌嵌入式Qtopia2.2.0环境搭建(四)——Qtopis2.2.0的使用
上一章得到了qtopia-2.2.0/qtopia/image/opt/Qtopia这个结果,这里面实际上包含了所有的应用程序。接着就要把这些代码放到板子的根文件系统中,这里不建议初学的读者从零开始建立一个根文件系统,而直接通过超级终端将开发板/opt/目录下的Qtopia用新编译的替换掉,这样自己的qtopia就在开发板上安装好了。在超级终端执行命令 #qtopia &,程序运行如下: 我们以一个HelloWord为例,来了解下如何编译一个Qtopia2.2.0应用程序放到开发板上运行: 5.1 在linux终端中键入以下命令创建该目录: #mkdir -p /root/qtopia2_apps 5.2 在qtopia_apps目录下创建hello作为本示例的项目目录,在终端输入以下命令: #cd /root/qtopia2_apps #mkdir hello 5.3 使用designer 工具设计图形界面,Qt/Qtopia都有designer工具,可以设计所见即所得的图形界面。主界面命名为hello_from.ui,输入以下命令并以ui文件名作为参数: # cd hello #/root/yizhi/qtopia-free-2.2.0/qt2/bin/designer ui_hello.ui 5.4 在弹出的new from界面中,选择”widget”然后点击ok,我们将创建一个基于QWidget的窗体: 5.5 这时将会显示窗口的编辑界面,我们修改窗体的大小使得开发板屏幕能够完整显示我们的程序,修改窗口属性: 5.6在窗口上放置控件,在工具栏上点击药放置的控件,在再窗口空白处点击一下即可:修改控件的属性的方法是点击控件,在左侧的属性窗口进行修改,修改button显示信息为”close” 5.7 为按钮添加点击事件的处理,我们首先创建一个slot函数。用于处理button的click事件,新建slot的步骤如下: 5.7.1 点击edit菜单,选择Slots”,将弹出如下所示的编辑对话框: 5.7.2 在上面的对话框中,点击”New slot”按钮,然后在slot编辑框中输入”btn_closeclicked()”,然后点击ok保存并退出如下图; 至此,slot添加完毕,现在讲slot函数与按钮点击事件对应起来; 5.8 点击工具栏的Connect Signal/Slots图标,然后参照下图所示进行操作,在按钮上按下鼠标左键不放然后拖到窗口的空白处放开鼠标,操作完成后会弹出Edit Connects对话框:将clicked()事件和slots连接起来,点击ok即可 至此,界面设计完毕,可以进入写代码环节。 5.9 我们需要创建三个源码文件,一个是头们见hello.h,一个是源代码文件hello.cpp,一个是main.cpp: #gedit main.cpp 然后添加如下内容: /***********************************/ #include “hello.h” #include QTOPIA_ADD_APPLICATION(“hello”,THelloForm) QTOPIA_MAIN /**************************************/ main.cpp只有4行源代码。它的实现很简单。宏展开后会是一个main函数,然后创建QPEApplication对象和THelloForm主窗口对象,最后显示主窗口并执行QApplication::exec()进入事件循环,接下来创建hello.h和THelloForm类. 5.10 创建hello.h和THelloForm类: #gedit hello.cpp /*********************************************/ #include #include "hello.h" QHelloForm::QHelloForm(QWidget * parent, const char * name, WFlags f) { } QHelloForm::~QHelloForm() { } void QHelloForm::btn_closeclicked() { close(); } /***********************************************/ #gedit hello.h /***********************************************/ #include "ui_hello.h" class QHelloForm: public hello_form { Q_OBJECT public: QHelloForm(QWidget * parent = 0, const char * name = 0, WFlags f = WType_TopLevel); virtual ~QHelloForm(); private slots: void btn_closeclicked(); }; /**************************************************************/ 5.11 编写hello.pro #gedit hello.pro /*********************************************/ CONFIG += qtopiaapp CONFIG -= buildQuicklaunch TARGET = hello # Input HEADERS += hello.h INTERFACES += ui_hello.ui SOURCES +=hello.cpp main.cpp /******************************************/ 上面的项目文件中CONFIG += qtopiaapp 表示要编译的是一个Qtopia程序,HEADERS和SOURCES 列出了hello的源代码和头文件清单,而TARGET则指定最后生成的可执行文件名hello,CONFIG -= buildQuicklaunch 的意思是需要编译一个独立的可执行程序。而不是应用程序插件。 5.12 创建一个开发板的编译脚本 #gedit build /*********************************************/ #!/bin/bash source /root/yizhi/qtopia-free-2.2.0/setQpeEnv Qmake -spec /root/yizhi/qtopia-free-2.2.0/qtopia/mkspecs/qws/linux-ARM-g++ -o Makefile *.pro make clear Make /*********************************************/ 5.13创建.desktop文件 /********************************************/ [Translation] File=QtopiaSettings Context=hello Comment[Desktop Entry/Name]=Use soft hyphen (char U00AD) to indicate hyphenation [Desktop Entry] Exec=hello Icon=hello Type=Application Name[]=hello CanFastload=0 /**************************************/ 保存。其中Icon图像为hello.png 5.14 编译生成应用程序: 执行 ./build脚本生成hello应用程序,我们就可以把这个程序放到开发板上运行了。 5.15 程序在开发版上运行:在开发板的opt/Qtopia/apps下增加forlinx目录,将生成的hello应用程序放到开发板的opt/Qtopia/bin下,hello.desktop文件放到opt/Qtopia/apps/forlinx下,hello.png放到opt/Qtopia/pics下,注意程序的权限,拷贝后用chmod命令给程序修改权限。重新启动qtopia程序,在超级终端输入#qtopia &命令,如下图多出的forlinx一栏就是咱们自己创建的,可以把自己的应用程序放在下边 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
[技术] 【飞凌嵌入式OK3576-C开发板体验】llama2.c部署
5922 浏览 0 评论
6683 浏览 0 评论
【飞凌嵌入式OK3576-C开发板体验】ssh连接与文件传输
6717 浏览 0 评论
8065 浏览 0 评论
【飞凌嵌入式OK527N-C开发板体验】6.制作h264播放器
7488 浏览 0 评论
6761浏览 2评论
3217浏览 2评论
11079浏览 1评论
5167浏览 1评论
83452浏览 1评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-19 20:41 , Processed in 0.671677 second(s), Total 67, Slave 49 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号