分享

基于mini2440的qtopia程序设计之二:如何在qtopia创建快捷方式

 戴维图书馆 2014-08-01
分类: Qt 2010-03-25 14:26 2434人阅读 评论(0) 收藏 举报

      经过今天的验证,发现上一篇《基于mini2440的qtopia应用程序开发之一》中我以为的x86-qtopia和arm-qtopia两个目录的区别不是那么小。在arm-qtopia中我测试了简单的hello程序,改编了它的.pro文件、build文件、等,但是还是不能看到模拟出来在PC段运行的效果。后来又仔细看了x86-qtopia和arm-qtopia两个目录下的build文件,发现上次看漏了一些地方,其实主要区别,还体现在./configure中的配置选项里面,体现在平台差异上。

      不过,不打算再去纠缠在这个问题上了,就按照友善的部署方式来开发程序吧。

      今天又先研究了一下环境变量的问题,因为在两个目录下编译程序用到的东西有差异,所以不能把QTEDIR等环境变量写进/etc/profile 文件,而是采用了写在 setQteEnv setQt2Env 等脚本中先运行,再编译应用程序,这样做的好处是,环境变量只对当前shell有效。

      有关环境变量的设置方式,具体参考http://blog.csdn.net/dingxy/archive/2010/01/08/5156041.aspx

      弄清环境变量对与qtopia开发很重要!

如何将hello例程在qtopia桌面产生一个图标呢,需要做以下几点。

1:需要修改hello.pro文件。

加上一下5句

pkg.domain=win
//增加一行SXE执行域说明:pkg.domain=window。特别注意pkg.domain与SXE有关,默认生成的.pro文件

只含有pkg.domain=none,这样编译出来的程序只能单独运行不能在QPE的SXE下执行,需要改成

pkg.domain=window或其他SXE执行域。


desktop.files=hello.desktop             
 //desktop说明文件的名字

desktop.path=$(QTOPIA)/apps/Applications 
//图标将会被添加到哪个板块(这里是apps/Applications板块,注意$(QTOPIA)

=/opt/FriendlyARM/mini2440/x86-qtopia/qtopia-2.2.0-FriendlyARM/qtopia/image/opt/Qtopia/)

desktop.hint=not desktop

INSTALLS+=desktop
//设置程序安装到QPE环境中,指定了.desktop文件名和安装位置。注意desktop.hint=desktop如果设置

的话,.desktop的内容会被保存到QPE的数据库中,否则安装后会在$QTOPIA/apps/Applications目录下产

生一个GNum.desktop文件。最后加上INSTALLS+=desktop指明程序安装到桌面。


另外,有些网站上说需要屏蔽
CONFIG -= buildQuicklaunch
这句话,经过我自己的实验,发现这句话是不能被屏蔽掉的,否则,将无法编译生成可执行的bin。

2:新建hello.deskttop文件,这个文件主要描述图标信息,包括图标路径,要启动哪个程序,在桌面上的

名称,等。尤其需要注意的是,图片名后面不要跟.png等后缀,否则显示的是错误快捷图标在桌面上。内

容如下:
[Desktop Entry]
Comment=An Example Program
Exec=hello           #对应的可执行程序
Icon=ICONNAME        #注意这里是直接填写ICON的名字,不需要填写路径。qtopia会自动去          

          #$QTOPIA/apps/Application 下面搜索
Type=Application
Name=Hello2440
并且将这个.desktop文件放在$(QTOPIA)/apps/Applitions 下面

3:将编译产生的可执行程序(hello)放到$(QTOPIA)/bin下面(注意这个程序是以qtopia方式编译产生

的,主要是要注意main.cpp文件需要按照qtopia方式编写)
参考qtopia/src/applications/clock/main.cpp
--------------------------------------------------
#include "mymainwindow.h"
#include <qtopia/qpeapplication.h>
QTOPIA_ADD_APPLICATION("myappname", "MyMainWindow")
QTOPIA_MAIN
---------------------------------------------------
这一步很简单把,cp过来改改类名和binary的名字就OK了。
需要注意的是你的mainwindow的构造函数要符合(QWidget*p, const char* name, int f)的形式(三个参

数)

4:在$(QTOPIA)/pics/下面建立与应用程序同名的目录,在该目录放入要用的ICON图片。

5:编译,运行。OK!

更多 0

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多