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

xyz.eeworld   2010-1-20 13:52 楼主
经过两个多月来在网上的观察,发觉菜鸟们对于Qtopia2.2应用程序开发的步骤,

似乎仍然处于众说纷纭,一筹莫展的境况.

这点友善之臂应负上部分责任,既然选用了Qtopia2.2作为产品的应用平台,却又

只提供少得可憐的开发资料,连在mini2440手册上那个唯一的Qtopia hello例程也

是错误多多的,菜鸟们按照它来做,肯定碰钉子.

最可笑就是这些存在多时的错误,仍然原封不动地印在最新版的mini2440手册上

(20100108版).不知友善之臂是要作弄菜鸟们,还是要测试他们的IQ和EQ呢?


既然那个hello例程那么可恶,就讓小弟斗胆在这里班门弄斧,为菜鸟们设计一个全新的

hello例程,并且用录像片断方式,加上图文并茂,详细解说一下当中的来龙去脉,好使菜鸟们能跨

越这道入门的鸿沟,驰骋于Qtopia2.2美丽的世界里,开发出令人神往的应用程序,免于堕入移植

新版Qt的恶梦里.


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

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


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


x86 hello界面一:



x86 hello界面二:



x86 hello界面三:



x86 hello界面四:



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


开发板 hello界面一:



开发板 hello界面二:



开发板 hello界面三:



开发板 hello界面四:



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


Qt designer界面:



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


另外,为达到更佳效果,小弟建议先到以下网站观看解说片段,以便对整个过程有个概略的认识,

然后再回来继续看帖子的其余解说内容.


以下片段讲解如何编译与运行x86版本hello程序的步骤:


http://v.youku.com/v_show/id_XMTQ2MjAzMzc2.html



以下片段讲解如何编译与运行Arm版本hello程序的步骤(用ftp + telnet方式):


http://v.youku.com/v_show/id_XMTQ2MjA0MTc2.html



以下片段讲解如何用Qt designer倉建hello程序的GUI步骤:


http://v.youku.com/v_show/id_XMTQ2MjA0NjUy.html


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


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


以下截图解说hello.pro内容:



以下截图解说hello.desktop内容:



以下截图解说main.cpp内容:



以下截图解说hello.cpp内容:



以下截图解说hello.h内容:



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


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


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应用程序开发的一些疑惑,对于更进一步的

应用,则要靠大家自行花点时间去研究了.


在此谨祝各位马到功成.


再会



(转自arm9之家论坛)

回复评论 (2)

不错,很有借鉴
点赞  2010-1-20 18:30
很好啊,总算找到结果了,谢谢
有的图片怎么看不到啊
heima
点赞  2010-11-1 13:05
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复