主题 : 打开Qtopia2.2应用程序开发的神秘面纱(x86+arm+源代码+多媒体影音解说) 复制链接 | 浏览器收藏 | 打印
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
楼主  发表于: 2010-01-18 12:00

 打开Qtopia2.2应用程序开发的神秘面纱(x86+arm+源代码+多媒体影音解说)

管理提醒: 本帖被 qq2440 执行加亮操作(2010-01-18)
经过两个多月来在网上的观察,发觉菜鸟们对于Qtopia2.2应用程序开发的步骤,
似乎仍然处于众说纷纭,一筹莫展的境况.
 这点友善之臂应负上部分责任,既然选用了Qtopia2.2作为产品的应用平台,却又
只提供少得可憐的开发资料,连在mini2440手册上那个唯一的Qtopia hello例程也
是错误多多的,菜鸟们按照它来做,肯定碰钉子.
 最可笑就是这些存在多时的错误,仍然原封不动地印在最新版的mini2440手册上
(20100108版).不知友善之臂是要作弄菜鸟们,还是要测试他们的IQ和EQ呢?

既然那个hello例程那么可恶,就讓小弟斗胆在这里班门弄斧,为菜鸟们设计一个全新的
hello例程,并且用录像片断方式,加上图文并茂,详细解说一下当中的来龙去脉,好使菜鸟们能跨
越这道入门的鸿沟,驰骋于Qtopia2.2美丽的世界里,开发出令人神往的应用程序,免于堕入移植
新版Qt的恶梦里.

醒来吧!雷梦娜..........讓我们一起走进Qtopia2.2的奇妙世界里吧....................
----------------------------------------------------------------------------------------------------------------------------

首先来看看小弟这两个x86及arm版hello程序运行时的界面,以便有个概略的认识:

[attachment=819]

[attachment=820]

[attachment=821]

[attachment=822]

----------------------------------------------------------------------------------------------------------------------------

[attachment=823]

[attachment=824]

[attachment=825]

[attachment=826]

---------------------------------------------------------------------------------------------------------------------------

[attachment=827]

----------------------------------------------------------------------------------------------------------------------------

另外,为达到更佳效果,小弟建议先到以下网站观看解说片段,以便对整个过程有个概略的认识,
然后再回来继续看帖子的其余解说内容.

以下片段讲解如何编译与运行x86版本hello程序的步骤:
http://v.youku.com/v_playlist/f4019326o1p8.html



以下片段讲解如何编译与运行Arm版本hello程序的步骤(用ftp + telnet方式):
http://v.youku.com/v_playlist/f4019326o1p9.html



以下片段讲解如何用Qt designer倉建hello程序的GUI步骤:
http://v.youku.com/v_playlist/f4019326o1p10.html



---------------------------------------------------------------------------------------------------------------------------

好了,相信各位对这个hello程序已有完整的概念,现在以截图的方式解说各档案的大概内容:

[attachment=828]

[attachment=829]

[attachment=830]

[attachment=831]

[attachment=832]

------------------------------------------------------------------------------------------------------------------------------

最后,还有如下几个重点大家要注意的:

1. 在开始编译小弟的hello程序前,请先按照mini2440手册上第五章及附录1的步骤,建立
   好适当的交叉编译还境,并且把x86及arm版的Qtopia编译好.这些事情只需细心地按照
   手册上的步骤进行便可,无须小弟多谈.

2. 另外,由于在Linux下,所有档案都是有权限设定的,若设定不当,会做成很多不必要的麻烦,小
   弟的做法一般都是把所有相关程序的权限设为777,这样一来便可一劳永逸了.
   顺带一提,在下的Linux是Fedora 10独立安装的版本,并非友善建议的安装在VMware下
   的Fedora 9版本.  

3. 开发Qtopia应用程序和开发一般的Qt应用程序是有些不同的,不要将开发Qt应用程序
   的模式硬套用在Qtopia上,否则会有麻烦,而且得出来的界面风格与Qtopia格格不入,
   有点古怪.

4. 不需要用progen来产生.pro档,只需用在下提供的版本,按自身需要,略为更改便可.

5. 不建议自行编写代码来产生GUI界面,用友善提供的那个版本Qt designer已可轻易
   的倉建常用的界面.

6. 不要自行用uic来把*.ui档转化为*.cpp及*.h档,这件事情会在运行build脚本时自动完成,
   只不过转化出来的*.cpp及*.h档,是储存在一个hidden folder内(用ls -a便可看见).
   不要更改这些档案来实行程序所需的功能,正确的做法是自行编写一个子类来继承由
   Qt designer设计的那个Form,这样一来便可调用其上的所有控件.这点是整个开发过程
   的重点所在.

7. 在/opt/Qtopia/pics的folder内,有非常多的图标,选择一个合用的,然后在.pro及.desktop
   档内加上指定图标的路径及名称,便可在模拟器及开发板上产生应用程序的图标.(看看小弟提
   供的档案便清楚了)  
 
8. 还有一个经常令菜鸟疑惑的事情,就是编译完后,那个执行档不知去了那里?其实有两个方法
   可以控制执行档的去向,可在.pro档内加上DESTDIR=所需路径,也可在build脚本加上
   make install INSTALL_ROOT=所需路径.(看看小弟提供的档案便清楚了)

9. 最后还有一点要注意,由于这个hello程序需要显示图片,在编译前,请先更改hello.cpp档内
   有关图片的路径.因为小弟选用的路径跟大家的实际环境有别.
-------------------------------------------------------------------------------------------------------------------------

希望这个帖子的内容能为大家解开对Qtopia2.2应用程序开发的一些疑惑,对于更进一步的
应用,则要靠大家自行花点时间去研究了.

在此谨祝各位马到功成.

再会
-----------------------------------------------------------------------------------------------------------------------------
[attachment=833]
[ 此帖被qq2440在2010-02-07 19:32重新编辑 ]
附件设置隐藏,需要回复后才能看到
為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
会当凌绝顶,一览众山小!
级别: 总版主
UID: 2
精华: 17
发帖: 1655
金钱: 13860 两
威望: 5369 点
贡献值: 17 点
综合积分: 3650 分
注册时间: 2008-01-01
最后登录: 2024-02-17
1楼  发表于: 2010-01-18 12:29
支持~
友善之臂淘宝直销店:http://shop34928758.taobao.com

手机:13560352861(杨工),QQ:10108270
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
贡献值: 71 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2010-01-18 12:49
最可笑就是这些存在多时的错误,仍然原封不动地印在最新版的mini2440手册上
(20100108版).不知友善之臂是要作弄菜鸟们,还是要测试他们的IQ和EQ呢?

支持~
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 7947
精华: 0
发帖: 17
金钱: 100 两
威望: 29 点
贡献值: 0 点
综合积分: 34 分
注册时间: 2009-08-03
最后登录: 2012-11-11
3楼  发表于: 2010-01-18 14:53
严重自持....
级别: 骑士
UID: 11942
精华: 1
发帖: 144
金钱: 775 两
威望: 155 点
贡献值: 1 点
综合积分: 308 分
注册时间: 2009-12-25
最后登录: 2022-01-16
4楼  发表于: 2010-01-18 15:22
吐血支持   
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
5楼  发表于: 2010-01-18 15:30
很不错,不知道手册Qtopia hello程序何处有错误,请指正。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
级别: 圣骑士
UID: 9221
精华: 0
发帖: 376
金钱: 2110 两
威望: 539 点
贡献值: 0 点
综合积分: 752 分
注册时间: 2009-09-22
最后登录: 2016-07-04
6楼  发表于: 2010-01-18 15:44
很不错,谢谢
一起学习,一起进步
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
7楼  发表于: 2010-01-18 18:17
引用第5楼mindee于2010-01-18 15:30发表的  :
很不错,不知道手册Qtopia hello程序何处有错误,请指正。


按照附录一,2.3及2.4节的步骤做完后,运行时会说找不到hello程序.

另外请看看附录一,3.1及3.2节那句cd指令的内容吧.

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫 
自由,自强,共享,共创。
级别: 论坛版主
UID: 12573
精华: 27
发帖: 8838
金钱: 46490 两
威望: 9298 点
贡献值: 27 点
综合积分: 18216 分
注册时间: 2010-01-09
最后登录: 2019-07-16
8楼  发表于: 2010-01-18 18:48
引用第7楼eddylau于2010-01-18 18:17发表的  :


按照附录一,2.3及2.4节的步骤做完后,运行时会说找不到hello程序.

另外请看看附录一,3.1及3.2节那句cd指令的内容吧.
.......


run-hello在最新x86-qtopia.tgz中已经修改了,是路径的问题。
3.1及3.2再看看,多谢指正。
新手如何向我们反馈有效的信息,以便解决问题,见此贴:
http://www.arm9home.net/read.php?tid-14431.html

[注]: 此处签名链接仅为指引方向,而非解答问题本身.
Eddy Lau (Sun Boy)
级别: 圣骑士
UID: 11202
精华: 1
发帖: 364
金钱: 1885 两
威望: 380 点
贡献值: 1 点
综合积分: 748 分
注册时间: 2009-11-30
最后登录: 2010-04-12
9楼  发表于: 2010-01-18 19:21
引用第8楼mindee于2010-01-18 18:48发表的  :


run-hello在最新x86-qtopia.tgz中已经修改了,是路径的问题。
3.1及3.2再看看,多谢指正。


如果找不到,可看看一位网友发表在友善之臂官方客服中心的这个帖子:

http://www.aiothome.net/read.php?tid-4327.html

為什麼生世間上 此間許多哀與傷 為什麼爭鬥不絕 歡欣不永享 
問為何人存隔膜 顏面無真相 問那天可找得到 理想中的烏托幫