使用QtSdk为symbian操作系统编写程序

来源:互联网 发布:照片视频制作软件下载 编辑:程序博客网 时间:2024/05/17 01:24
http://civilnet.cn/blog/browse.php?operation=display&type=blog&entryno=394

使用QtSdk为symbian操作系统编写程序(Beta Version)

Qt的迷人之处在于它的跨平台性,而其编译的程序能够运行在世界上最流行的塞班操作系统上,则使其愈加迷人——不论是诺基亚5230、5800这样的symbian^1手机,还是N8、C7这样的symbian^3手机(更遑论即将于3季度发布的N950 MeeGo手机)。

Gemfield本文建立在这样的平台上:
1、    NOKIA 5800手机,搭载symbian^1操作系统。Gemfield的这台5800是09年入手的,其最大的特点就是有温度传感器——温度低于17度就花屏。此外,这种symbian^1手机在CivilNet社区成员中有巨大的存量,像5230、c5、c6等。因此,其被选为gemfield本文的手机平台。
2、    Windows xp操作系统,这个就不多说了。Gemfield平常花在linux上的时间占比为90%,因此你可以看出我是多么不情愿的提到微软的产品。但是,为塞班进行开发的工具链在windows上比较简单和方便搭配,所以,虽非吾愿,也只好将就了。
3、    QtSdk 1.1RC(了解什么是RC,请访问http://civilnet.cn/bbs/browse.php?topicno=5161),因为正式版尚未推出,所以这个也算是最新的版本了。

现在开始我们的编程之旅。不过看完下面的步骤,你就会觉得说“编程”一词实在是言过其实,Qt的简单易用也是让gemfield抓狂的原因之一。

第一、5800手机必须能够连到PC上,如果你之前已经在电脑上安装过PC套件或者OVI套件的话,这个时候可以使用USB线将手机以PC套件模式连接到电脑上;如果之前没有安装过的话,则QtSdk会自动为你安装,这可能会花去一分钟左右的时间。总之,确保你的手机以PC套件的方式连接到PC上。

第二、gemfield的5800手机还欠缺运行Qt程序的软件包,像Qt, Qt Mobility, QtWebkit, and Open C。这就要靠(多亏:))QtSdk1.1的快捷方式的帮助了。共3步:
1.    windows左下角: Start > Qt SDK > Symbian^1 Qt 4.7.3 > Install Qt 4.7.3 for Symbian^1 on Device. 这个时候gemfield的5800手机屏幕就会提示,按照提示安装即可。.
2.    windows左下角: Start > Qt SDK > Symbian^1 Qt 4.7.3 > Install QtMobility 1.1.2 for Symbian^1 on Device 。这个时候gemfield的5800手机屏幕就会提示,按照提示安装即可。
3.    windows左下角: Start > Qt SDK > Symbian^1 Qt 4.7.3 > Install TRK (Debug Agent) on s60 5th Edition Device。这个时候gemfield的5800手机屏幕就会提示,按照提示安装即可。

第三、开始构建.pro了。在Qt creator界面上,新建工程,选择创建一个移动程序。为工程命名,这里命名为gemfield.pro。然后在Qt版本里保留symbian^1的对勾即可。然后会让你选择程序图标(symbian上的应用程序图标是svg的,这其实是一种xml格式的文件,用来描述svg文件在二维上的属性)。完成后你会发现ui界面的窗体大小正好为200x320像素,这是为5800这样的分辨率服务的。

第四、在ui文件里拖放一个QWebView控件,在属性栏里将其url设置为http://civilnet.cn/book

第五、在.pro文件里将CONFIG += mobility一句前的注释符“#”去掉。因为我们是为手机写程序。并且添加QT +=webkit,因为gemfield刚才的QWebView控件使用了Qt webkit模块。

第六、保存,然后在creator界面的左下角的手机模样的图标上单击,在弹出的选择体上选择塞班设备。

第七、点击左下角的运行按钮,程序就会编译,如果成功的话,程序就会运行在gemfield的5800手机上,并且已经安装在了5800上。你可以在手机的已安装程序目录下看到。程序运行的时候,5800会先弹出询问框,问你是否要使用gprs网络连接。因为这个程序使用了联网功能,这样会触发symbian^1的询问。这也是为用户安全考虑。联网正常的情况下,手机界面就会出现著名的CivilNet Book。这个时候就说明程序完全正常了。

然而,正是因为Qt Sdk1.1的不成熟,上面这个简单的不能再简单的gemfield.pro工程的编译并不是一帆风顺。Gemfield看到的情况是,同样的程序,在没有任何改动的情况下,有时可以顺利编译完成生产sis文件,而有时会发生下面的错误:
***************************************
构建项目gemfield 时发生错误 (目标: 塞班设备)
当执行构建步骤 'Make'时
***************************************
作为另外一种情况,如果你的手机和PC连接不正常的话,creator左下角的手机图标会出现x号,同时编译时会出现:
***************************************
无法监听设备端口'',看起来此端口正在被使用.
构建项目gemfield 时发生错误 (目标: 塞班设备)
当执行构建步骤 '部署'时
***************************************
Gemfield只能暂时认为是QtSdk1.1的不成熟所致,期待QtSdk1.1正式版的发布,同时本文也为beta version,将会逐日完善。

【备注】:本文属于gemfield的CivilNet Blog(http://civilnet.cn/gemfield)【Qt乐园】版块;bug提交至[gemfield@civilnet.cn];资料发布及讨论区:http://civilnet.cn/qt;转载此文时,请保证包括【备注】在内的文章的完整性。

Tags: QtSdk   塞班   symbian   Qt  
类别: Qt乐园 |  评论(0) |  浏览(449) |  收藏
 


原创粉丝点击