×
Namespaces

Variants
Actions
(Redirected from Qt for Symbian 开发入门)

Qt 开发入门

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

兼容于
平台:
Symbian

文章
flycarl 在 24 Nov 2010 创建
最后由 hamishwillee 在 11 Oct 2012 编辑

Contents

下载开发环境

系统需求

Nokia Qt SDK支持下列操作系统。

  • 32- and 64-bit Microsoft Windows XP Service Pack 2, Windows Vista, and Windows 7.
  • Apple Mac OS X 10.6 及更高版本
  • 32- and 64-bit (K)Ubuntu Linux 7.04, 及一些组件:

安装需要大概4GB磁盘空间。本文关注Qt for symbian的开发,我们从windows XP系统来开始。

下载和安装

在下载Nokia论坛下载最新的Qt SDK
有离线和在线安装两种版本,离线版包含完整的 Qt SDK,在线版本在开始安装后下载需要的软件。如果在线版本出问题使用离线版本。

01 SDK download.png
图1: SDK的下载页面为 Windows, Linux,和 Mac OS X 操作系统提供离线和在线下载版本


运行安装文件,下面以离线版为例:

02 Setup.jpg 03 license.jpg 04 installation directory.png
图 2: 安装向导打开,较慢的电脑可能要等一会 图 3: 同意许可,下一步 图 4: 选择安装目录,勾选移除旧的Qt Creator设定
05 startmenu shortcuts.png 06 installing.png 07 completing setup wizard.png
图 5: 下一步 图 6: 安装进度 图 7: 安装结束,点Finish启动Qt Creator

安装结束后安装向导会提示你启动Qt Creator。Qt SDK包含Symbian开发向导,知道你如何为目标手机平台配置调试(debug)和部署(deployment)环境。现在我们还用不到,以后你可以在QtSDK_install_path>\readme目录找到这些文档。

08 creator welcome.png
图8: Qt Creator 成功启动

好了,安装很简单,到这一步不需要更多的配置了,因为 Qt SDK 自带一个Symbian SDK,和一个轻量级的模拟器,所以就算没有装Symbian的SDK,也可以进行我们下面的步骤。已有的Symbian SDK 会被检测到,这里略过。下面我们来导入一个例子工程。


创建和测试 代码

导入一个工程

Qt Creator启动后,我们来打开一个例子工程来看安装是否成功。我们来运行一个Qt的程序Animated Tiles,体验Qt在UI上的表现,以及跨平台的特点。

09 project selection v2.jpg
图9: 点击Choose an example… ,在下拉框选择一个例子,例如Animated Tiles

接下来会提示你选择这个工程的目标平台,请至少选上 Qt SimulatorSymbian Device,然后点Finish。

10 set up targets.png
图10: 选择目标平台

做过symbian的朋友对选择平台并不陌生,同一段代码,比如我们会选择在S60 3rd或S60 5th上编译。QT程序具有跨平台的特点,因此同一个工程会可能在Windows,linux,mac等桌面操作系统,Maemo Symbian等手机操作系统上编译,Qt Creator具有同时管理这些平台的能力,使得你可以直接切换编译的目标平台,安装了不同平台的Qt版本也会被Qt Creator自动识别到,比如安装了Qt的桌面版本则这里的目标平台会多出Desktop类别。Nokia Qt SDK以Maemo和Symbian为目标平台,因此安装后会提供这几种编译平台供开发者选择。

Maemo Maemo平台,本文不讨论
Qt Simulator 为手机上的Qt程序准备的轻量级的模拟器,不同于平台SDK自带的模拟器
Symbian Device 包含Qt库的Symbian平台,这里Nokia Qt SDK自带的Symbian SDK已经集成了Qt库,原来的Symbian平台如S60 5th需要安装Qt for symbian才能编译Qt程序。

例子工程打开后,我们看到有代码页面,和帮助页面,显示了对这个例子的说明,左侧上方的工具栏用于再Qt Creator中切换不同的View。

ViewsIntro.JPG
11 project space v2.jpg
图11: 例子工程打开后,进入Edit View编辑界面,右侧是例子的帮助文档,任意点击头文件,源代码等查看

点左侧的Build按钮编译(见图12),如果想查看编译过程,可打开 Compile Output log查看。

12 build run logs v4.jpg
图12: 左侧工具栏上有 目标平台选择,Run Debug Build按钮 Compile Output log显示编译信息。

如果以后你想增加其他目标平台,你可以在Projects view 下做。通过左手边的工具栏选择Project进入。

在 Qt 模拟器中运行应用

编译成功后,接下来我们在模拟器运行这个应用。点击左侧工具栏上的设备图标,选择目标平台。弹出一个目录(如图13),点击Qt Simulator做为当前的平台,如果你有多个工程,请确定当前的工程是你想要编译和运行的,当前的工程名字是黑体, 你可以在这里设定,也可以在Poject View 里选择。 点击绿色箭头的Run按钮(如图12) 你可以看到到程序运行在模拟器中(如图14)

13 target selection.jpg 14 simulator.png
图13: 目标平台选择目录 图14:程序运行在Qt模拟器中,图中所示处于Symbian^3配置状态

Note.pngNote: 模拟器不支持Symbian 和Maemo?的平台宏(platform macro)。例如为 Symbian 平台的屏幕大小所做的设定,不能运用到模拟器上。但是你可以使用Q_WS_SIMULATOR宏,来指定模拟器专用的代码。 更多关于环境宏environment macros的用法请参考Nokia Developer Wiki

接下来看看模拟器旁边的控制工具栏Qt Simulator Control,关于模拟器的更多功能,参见Qt Creator 帮助。

Simulate 可以模拟多种手机事件,并编写自己的脚本
Application 可以使用Symbian的menus,模拟器的UI没有实现这些目录
View 可以旋转模拟器的手机屏幕,可以改变手机设备(Device),选择S60 3rd,5th或Symbian^3等等的手机外观

现在你在Qt模拟器上成功运行了一个程序。接下来,我们在真机上运行测试这个程序。


将应用部署到Symbian手机上

这一节我们来看如何为Symbian手机编译一个应用,并安装运行到真机上。这个Qt程序在Qt模拟器上编译和在Symbian平台上编译并没有什么不同,你只需要切换目标平台点编译即可。但是要在Symbian手机上运行一个程序,你需要事先在手机上安装Qt包,以及Debug所需要的软件。联机调试也需要适当的配置Qt Creator。 注意Qt已经预先安装到Symbian^3手机上。 接下来一步步走,先配手机,再配置电脑。

准备条件

Debug 联机调试模式只支持Window操作系统 (32位和64位版)。另外你需要

  • 一台symbian手机和USB数据线(要运行本文中提到的例子程序,需要好Symbian^3,或Symbian S60 5th的触屏手机)
  • Nokia Qt SDK
  • Nokia Ovi Suite 或Nokia PC Suite

配置手机端

用USB数据连接电脑和手机。S605th的手机选择PC Suite模式。如果你之前没有使用过Ovi Suite或PC Suite,会自动安装一些驱动了,这些安装大概需要一分钟。PC Suite将逐渐被Ovi Suite取代。以下以Ovi Suite讲解。

将Qt安装到手机上

这一步,你需要Ovi Suite来安装*.sis文件。我们用Nokia Qt SDK自带的快捷方式来安装Qt。在桌面点击 开始-> Nokia Qt SDK > Symbian > Install Qt to Symbian device。然后按屏幕提示操作。 你也可以使用浏览器找到Qt安装SIS包,自己手动安装。安装包是<NokiaQtSDK_install_path>\Symbian\sis and select qt_installer.sis

Note.pngNote: 如果Ovi Suite 安装SIS文件有问题,你可以在用蓝牙或数据线 将SIS文件拷贝到手机中,然后在手机中运行这个SIS文件

在手机上安装配置TRK

用快捷方式安装TRK,在桌面点击 开始-> Nokia Qt SDK > Symbian > Install TRK to Symbian device,然后选择安装与你的手机相应的版本。 你也可以在<NokiaQtSDK_install_path>\Symbian\sis目录找到这些TRK安装文件(例如Symbian^3_app_trk_3_2_7.sisx)


配置Qt Creator

手机端配置好了,现在来设置Qt Creator,在我们的例子中只打开了一个工程,因此默认设置不需要改变即可运行,读者可跳到下一节。 在打开了多个工程,同时面向多个平台开发时,遇到编译,运行,签名问题,再回到这一节来。 在左手边的工具栏选Project 模式,然后在中间选 Symbian Device,及其下的Build标签(如图15)。

15 Symbian build settings.png
图15: Symbian Device Build 设置页面

Note.pngNote: 如果你在第2步导入/创建工程时没有选择Symbian做为目标平台,那么这里看不到Symbian Device标签。这时你可以点击'+',然后再下拉框里选则Symbian Device

确定你在Edit Build Configuration选择的是Debug,这时是Debug模式,如果是Release模式,则不能打断点。 在Qt Version栏应该显示Qt for Symbian Devices (Nokia Qt SDK),如果不是请点击下拉框选择这项。

symbian的平台安全性要求为应用程序签名。这个 Animated Tiles程序只需要自签名(self-signed)即可。 Nokia Qt SDK会为默认的证书好密钥为应用的安装包进行自签名(如图16)。如果一个应用程序需要敏感的能力,比如读取设备数据,那么需要根据开发者的Publisher ID 进行签名,将验证软件开发者的身份。总的来说,不光是商业发布版本的应用需要签名,开发和测试中的程序也需要签名才能安装到手机上。卡发着的证书和密钥可以通过点击Create SIS package的Detail按钮来填入。如果你没有接触过symbian的平台安全性概念,请阅读Nokia Developer Wiki上相关的文章。Ovi Store为个人开发者提供了免费的签名服务,详情参看Ovi商店开发者注册发布指南

16 build steps.png
图16: 证书可以在Create SIS package中填入

现在点击Symbian Device标签下的Run按钮(见图17),确保”Run configuration“旁边的下拉框填的是当前的工程,本例中是'animatedtiles on Symbian Device'。 同时检查"Device on Serial Port “中显示有可用的COM接口(见图17)。

17 run settings.png
图17: Symbian Device Run 设置页面

Ok,你现在完成了所有配置。当手机连接到PC上时可以联机调试了。

18 debug service.png
图18: 每当手机连接上电脑后,会在手机上出现上面的提示。

Note.pngNote: 如果手机的Debug状态没有自动打开,可以在手机的功能表的RnD Tools文件夹下启动TRK程序,然后在TRK中启动连接。也可设置当连接时是否自动提供Debug(USB 即插即用)


在symbian手机上联机调试

检查一下目标平台,选的是Debug,和正确的工程(我们这里是'animatedtiles on Symbian Device'),如图19所示

19 Symbian debug.png
图19:选择为symbian手机上联机调试,编译信息显示编译成功

点击钉锤图标,会编译所有打开的工程,等同于快捷键CTRL+SHIFT+B。要编译当前激活的单个工程,你可以使用CTRL+B。你可以看到编译信息中自动生成了自签名的sis文件。当编译正常结束,安装包准备好后可以看到'The process "C:/NokiaQtSDK/Symbian/SDK/epoc32/tools/make.exe" exited normally' 的字样。

Note:Release 版本的生成与上面的步骤类似,只需在选择目标平台为Release即

在手机上运行程序

点击绿色播放按钮,程序将传送到手机上安装并运行。或者使用快捷键CTRL+R。 你也可以点Debug按钮,点击代码编辑器的行号的左边将设置断点,运行在Debug模式下可以联机断点,非常方便,这对于调试多点触摸,电话,短信等手机功能来说非常有用。 同时在联机调试过程中(Run或者Debug), Application Output窗口作为console窗口输出信息。使用如下代码可以得到实时的log,这方便易用。

#include <QDebug>
qDebug()<<"some";
int count = 5;
qDebug()<<"a number"<<count;
QString str("a string");
qDebug()<<"a QString"<<str;

运行到这几行后,将输出

[Qt Message] some 
[Qt Message] a number 5
[Qt Message] a QString "a string"
20 debug build running.png
图20:联机运行时效果,注意左侧设备连接的绿勾,表示连接正常,Application Output输出了debug信息
21 application running.png
图21:手机上运行的效果

Note:如果你需要animatedtiles.sis,你可以在 <NokiaQtSDK_install_path >\Examples\4.6\animation\animatedtiles文件夹找到这个SIS包,这个文件夹可以通过右键点击任意工程文件选Show in Explorer找到

ShowInExplorer.jpg

关于适应屏幕的大小

为了让应用能自适应手机不同的的屏幕尺寸,在main.cpp文件中程序的窗口被定义为

view->showMaximized()

有的时候你需要对界面元素尺寸进行设定以获得正确的显示。 好的,到此为止你已经成功的在symbian手机上运行了Qt程序,接下来我们看看关于Qt for Symbian开发的更多信息。


Qt for Symbian资料

现在你已在Nokia Qt SDK中成功运行了第一个程序,并运行在Qt模拟器和Symbian手机上。接下来你可以按一下步骤来做。

了解Qt Creator和Qt Simulator的功能

即使你对Qt Creator IDE很熟悉,我们还是建议你查看内置的帮助Qt Creator Manual,这里有关于Qt Creator全面的介绍,如何创建和管理工程,如何创建C++和QtQuick应用。如何使用Qt Designer使创建UI更容易。 在帮助中也有Qt模拟器更高级的使用方法Qt Simulator Manual

学习Qt

如果你没有接触过Qt,对Qt的编程习惯,代码样式,核心概念感到陌生,建议你读一下

学习如何在手机上使用Qt

诺基亚论坛提供了很多学习资料,例子程序,专题等,参见

Qt 开发 Nokia Forum中文 Qt开发资料汇总
Qt learning materials page 自学资源,练习课程,各种电子学习资料
Mobile hands-on labs 这里手把手的教你如何配置开发环境,创建第一个Qt应用,还有一些视频资料,比如使用Qt的动画框架Qt animation framework

当你准备开发应用,可以在Qt Creator自带的帮助里很容易的查找需要的API的详细文档和例子,试一试Help View,Qt详细的文档不会让你失望。

从例子中学习

查看<NokiaQtSDK_install_path >\Examples文件夹,这里有关于Qt各种功能的例子,和完整的代码,很多都可以直接跨平台运行。

使用手机的功能

想用Qt调用手机的功能,如发短信,照相,地理定位等等,参看Qt Mobility 开发

为Qt程序扩展平台相关的功能

尽管Nokia Qt SDK为Symbian开发提供了全面的开发环境,但有些应用程序还是会用到一些平台特有的功能,而Qt及Qt Mobility API没有提供,或暂时没有提供,在这种情况下你需要下载单独的Symbian SDKs, 进行Qt Symbian 混合编程。Qt Creator也支持这些原有的平台,可调用Symbian SDK的模拟器,如果你想使用Symbian上原有的工具链的一些高级功能,如Symbian 能力扫描等,可以安装原有的Symbian工具链,如Carbide.c++等参见Qt Symbian 开发环境安装,不建议在Carbide中开发Qt程序,因为这样会失掉Qt Creator跨平台开发Qt的特性。

This page was last modified on 11 October 2012, at 04:17.
1074 page views in the last 30 days.
×