您的位置:首页 > 编程语言 > Qt开发

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

2014-04-24 17:46 281 查看
经过今天的验证,发现上一篇《基于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!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: