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

Qt、Qt E、Qtopia Core和Qtopia之间的区别和联系 总结来说,Qt是一个跨平台的C++应用程序开发框架,Qt E是专注于嵌入式系统的Qt的扩展版本,Qtopia Core是Qtopia的核心部分,提供了基本的嵌入式应用程序开发平台,而Qtopia是一个完整的嵌入式应用程序开发和运行环境,包含了Qtopia Core以及其他组件和工具。Qtopia Core是Qtopia的核心部分,它是基于Qt和Qt E构建的一个嵌入式应用程序开发平台。Qtopia Core是基于Qt和Qt E构建的,它包含了Qt的核心功能以及Qt E的扩展功能。启动应用程序的事件循环。 阅读详情

      经过今天的验证,发现上一篇《基于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!

深入理解Qtopia:构建和配置Qtopia环境 本文详细介绍了如何构建和配置Qtopia环境,包括下载源码包、设置构建目录、配置环境变量、构建过程以及如何使用Qtopia特定的工具和库。还探讨了如何创建自定义的Qtopia应用程序,并通过一个简单的单位转换器应用程序示例来说明开发过程。 阅读详情

相关推荐

mini2440 qt程序的开发方法认识

mini2440 qt程序的开发方法认识       其实在mini2440上应该说是qtopia应用程序的开发,至于qt和qtopia的区别我也说不清,自己认为就是qt是广义的,qtopia是指像mini2440板子上应用程序菜单下的那些东西。      照友善之臂的手册建立开发环境,细心点就不会有错,不过手册上把一些命令写成脚本了,有时候不懂什么环境变量设置啊之类的就会弄错了,编译通不过

avatar1912的专栏 1345

Qt、Qte、Qtopia三者的区别

Qt、Qte、Qtopia三者的区别 Qt 泛指 Qt software的所有版本的图像界面库,包括 Qt/X11(Unix/Linux)、Qt Windows、Qt Mac等,但这只是相对于二进制来说的。Qt作为一个跨平台的GUI框架,在源码上对所有平台都是一致的。Unix/Linux上最流行的桌面环境之一KDE就是采用Qt来写的。 Nokia 在2008年收购 Trolltech 后,将...

《好好先生》专栏 3611

qtopia 的hello world程序的记录

1.hello.desktop文件 http://blog.chinaunix.net/uid-26729065-id-3212772.html [Desktop Entry] Comment=An Example Program Exec=hello                            Icon=Games                        Typ

WWHHJJ1的专栏 825

什么是Qtopia

Qtopia 是基于 Qt 开发的一个软件平台,主要用于采用嵌入式 Linux 系统的 PDA 或移动电话, Qtopia 提供了窗口操作系统、游戏和多媒体、工作辅助应用程序、同步框架、 PIM 应用程序、 Internet 应用程序、 开发环境、输入法、 Java 集成、本地化支持、个性化选项以及无线支持等,用于缩短制造商的开发周期。 TrollTech 公司在 08 年被 Nokia

骨头和狗的博客 3415

MINI2440开发板上添加qtopia应用程序

MINI2440开发板上添加qtopia应用程序  (2012-07-25 16:15:00) 转载▼ 标签:  it 分类: Linux 一、将生成的.c .h .cpp这三个,放到一个文件夹里,拷贝其他的.pro,并修改做一个pro 文件。 pro 内容如下:复制到你的pro里面,做适当修改即可。   #CONFIG

linuxheik的专栏 667

在x-86 qtopia上添加应用程序+移植到开发板

我用的是mini2440附带资料中的x86-qtopia,环境为ubuntu10.0,以下是在模拟器上添加自己的应用程序myphone。 一、 在/qtopia/apps/Applications/中添加一个.desktop文件(拷贝其他应用程序的.desktop,对其进行修改),并把该文件复制到image/opt/Qtopia/apps/Applications下 Ps:.desktop文件

douhuasinandu的专栏 918

基于mini2440的QT程序移植

<br />利用QT_Creator来编写QT程序,建立一个空工程,然后逐步添加.h和.cpp,主要利用Creator的自动补齐和手册功能方便,然后保存工程,进入工程目录,把源文件和头文件拷贝到另一个文件夹里面,参考hello的.pro文件来编写这个程序的。pro 文件,<br />.pro 文件格式如下<br />CONFIG  += qtopiaapp<br />CONFIG  -= buildQuicklaunch<br />DESTDIR = $(QPEDIR)/bin<br /> <br />HE

Seanyxie Blog 2605

linux下i2c接口的电容触摸屏驱动开发

原文地址: http://hi.baidu.com/god_sperm/blog/item/2aaac228e8a1ece8e7cd400a.html 电容触摸屏 2011-01-14 15:36 1.Kconfig文件    增加宏定义   2.Makefile文件    增加编译处理   3.添加程序源码 ...

weixin_33827590的博客 132

电容触摸屏

<br />原文地址: http://hi.baidu.com/god_sperm/blog/item/2aaac228e8a1ece8e7cd400a.html<br /> <br />电容触摸屏2011-01-14 15:361.Kconfig文件 <br />  增加宏定义<br />  2.Makefile文件<br />  增加编译处理<br />  3.添加程序源码Touch screen remote control design document2010年11月08日 星期一 13:08<

android83的专栏 2831

Qtopia开发及应用平台的搭建

 Qtopia开发及应用平台的搭建       Qtopia开发平台主要指宿主机上带X Windows的Linux系统中的Qtopia开发环境,包括Qt designer,uic,tmake,qvfb,Qt/E库和qpe等。       Qtopia应用平台则指基于ARM或其他嵌入式处理器的嵌入式Linux系统。        因此,搭建不同的平台,虽然用到了相同的软件包,但在

LinuxBoy1985 1732

Qt/Qte/Qtopia三者的区别

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34258078的博客 283

详解qtopia4.4.3移植到mips处理器以及相关问题总结

最近公司做一个linux手机项目,需要做一个图形界面程序,移植qtopia,其中遇到一些难题也折腾了1个多星期,总算是弄好了,这里总结一下。分为以下几部分: 1 编译运行x86版本的qtopia 2 编译移植mips处理的qtopia 3 在qtopia4.4.3下编译运行helloworld程序 4 编译运行中遇到的问题和解决方法 5 qtopia的qconfigure选项详解 6

做一个有技术追求的人 4154

Qtopia/Qt 中文支持 (转)

Qt在设计开始就考虑了对多语言的支持.因此对中文的支持还是比较容易.很容易编写出多语言的程序来.关于Qtopia /QT的中文支持.主要有如下情况  1.在自己的QT程序中加入中文支持. 2.将Qtopia 的桌面显示中文. 我们分两种情况来看看QT怎么支持中文.这里的主要采用QT来演示,后面演示一个Qtopia 的版本。本文大部分程序和分析由我的学生刘彬完成,在此表示感谢.

timequark的专栏 3524

qt和qtopia两者到底有什么区别啊?

qt是【跨平台的程序设计框架】,在不同的平台上版本不同。写好的代码需要在什么平台上运行,就采用那个平台上的qt编译器进行编译。也就是说,写好的代码需要在linux上上运行就采用linux上的qt编译器进行编译;需要在win上运行,就采用win上的qt编译器编译。 qt支持嵌入式开发,qtopia是它的嵌入式版本。在主机上开发的程序,通过qiopia编译后,传到嵌入式平台上就可以运行。前提是这个平...

baidu_37973494的博客 2795

qtopia监测磁盘(sd卡等)mount umount

作者:帅得不敢出门    c++哈哈堂31843264 不多说,看源码. 首先qpe 中会进行/etc/mtab的检测. void SysFileMonitor::timerEvent(QTimerEvent*)  // 这里只列出部分检测代码 {     // st_size is no use, it's 0 for /proc/mounts too. Read it all

zmlovelx(帅得不敢出门 程序员群31843264) 899
上一篇: 基于mini2440的qtopia应用程序开发之一:搭建平台+友善之臂的错误分析
下一篇: 基于mini2440的qtopia程序设计之三:qtopia界面定制
hadise
博客等级 码龄17年 50粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值