×
Namespaces

Variants
Actions
(Difference between revisions)

在Qt S60中使用QtMobility做开发

From Nokia Developer Wiki
Jump to: navigation, search
bugatcuteqt (Talk | contribs)
(安装到S60 SDK上)
hamishwillee (Talk | contribs)
m (Hamishwillee - Fix redirected link)
 
(36 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Category:Qt for Symbian]][[Category:S60]][[Category:Lang-CN]][[Category:CN Qt for Symbian]]
+
[[Category:Qt Mobility]][[Category:Symbian]][[Category:Lang-Chinese]][[Category:Qt]]
== 下载安装包和源代码 ==
+
{{ArticleMetaData
 +
|sourcecode= <!-- Link to example source code e.g. [[Media:The Code Example ZIP.zip]] -->
 +
|installfile= <!-- Link to installation file (e.g. [[Media:The Installation File.sis]]) -->
 +
|devices= <!-- Devices tested against - e.g. ''devices=Nokia 6131 NFC, Nokia C7-00'') -->
 +
|sdk= <!-- SDK(s) built and tested against (e.g. [http://linktosdkdownload/ Nokia Qt SDK 1.1]) -->
 +
|platform= <!-- Compatible platforms - e.g. Symbian^1 and later, Qt 4.6 and later -->
 +
|devicecompatability= <!-- Compatible devices e.g.: All* (must have internal GPS) -->
 +
|dependencies= <!-- Any other/external dependencies e.g.: Google Maps Api v1.0 -->
 +
|signing=<!-- Signing requirements - empty or one of: Self-Signed, DevCert, Manufacturer -->
 +
|capabilities=<!-- Capabilities required by the article/code example (e.g. Location, NetworkServices. -->
 +
|keywords= <!-- APIs, classes and methods (e.g. QSystemScreenSaver, QList, CBase -->
 +
|id= <!-- Article Id (Knowledge base articles only) -->
 +
|language=Lang-Chinese
 +
|translated-by= <!-- [[User: XXXXX]] -->
 +
|translated-from-title=<!-- Title only -->
 +
|translated-from-id= <!-- Id of translated revision -->
 +
|review-by=<!-- After re-review: [[User:username]] -->
 +
|review-timestamp=<!-- After re-review: YYYYMMDD -->
 +
|update-by=<!-- After significant update: [[User:username]]-->
 +
|update-timestamp=<!-- After significant update: YYYYMMDD -->
 +
|creationdate=20100319
 +
|author=[[User:Bugatcuteqt]]
 +
}}
 +
{{ArticleNeedsUpdate|timestamp=20111121042840|user=[[User:Hamishwillee|&lt;br /&gt;----]]|language=Lang-Chinese|Qt Mobility is now delivered with the [[Qt SDK]]. This is probably largely accurate but needs a review.}}
 +
== [http://qt.nokia.com/developer/new-qt-apis/ QtMobility简介]==
 +
QtMobility是专门用于开发Qt应用的手机功能专有模块。<br>
 +
如果你希望你的Qt应用能够使用到手机的'''通信录''','''短信''','''定位''','''拍照''','''多媒体''','''传感器''','''网络连接管理'''等等功能,那么只有标准的Qt库是不够的,还需要另外安装QtMobility,本文讲的就是如何为你的Symbian开发环境提供QtMobility的支持。更多关于Qt Mobility API 的介绍可以在[http://doc.qt.nokia.com/qtmobility-1.0/index.html Qt Mobility Project]网址找到。<br/>
  
Qt Mobility 的项目入口在  [http://qt.nokia.com/products/appdev/add-on-products/catalog/4/new-qt-apis/mobility New-Qt-APIs]   ,要找最新的链接就在那找<br>
+
<font color="red">注:如果你使用的是Nokia Qt SDK开发环境,那么QtMobility已经随安装包一起安装,在Qt Creator 开发纯的Qt应用时(不含任何Symbian C++ API的 Qt应用),可以跳过本文而不用进行任何额外的安装,但是开发者可以参考[https://bugreports.qt-project.org/browse/QTSDK-98 features and some other files for Qt Mobility in the Symbian part are missing] 来修正自己的安装过的SDK。如果开发者使用的是Carbide.C++环境,或者是在使用Qt Creator IDE,但是要使用到Symbian S60 SDK来开发的话(应用不是纯的Qt代码,需要按照本文对开发环境进行额外的配置</font>。
 +
 
 +
== 下载安装包和源代码 ==
 +
Qt Mobility 的项目入口在  [http://qt.nokia.com/products/qt-addons  New-Qt-APIs]  ,在这里可以找到最新的版本。所有Qt Mobility 的版本可以在[http://labs.qt.nokia.com/category/qtmobility/ 连接]找到。 <br>
 +
{| border="1"
 +
|9 November 2010
 +
|[http://qt.nokia.com/downloads Qt 4.7.1]
 +
|-
 +
|
 +
|[http://qt.nokia.com/products/qt-addons Qt Mobility 1.1.0]
 +
|-
 +
| Symbian^3开发研究使用
 +
|[[Qt 4.7 for Symbian^3 - developer version]]
 +
|-
 +
|
 +
|[http://get.qt.nokia.com/qt/add-ons/qt-mobility-symbian-1.1.0-symbian3-nokia-signed.sis qt-mobility-symbian-1.1.0-symbian3-nokia-signed.sis],
 +
|}
  
 
== 解压安装包 ==
 
== 解压安装包 ==
  
解压安装包后关键的文件有几个<br>
+
解压安装包后关键的文件有几个<br><br>
qt-mobility-1.0.1-epoc32-3.1.zip<br>
+
qt-mobility-symbian-1.1.0-epoc32-3.1.zip<br>
qt-mobility-1.0.1-epoc32-3.2.zip<br>
+
qt-mobility-symbian-1.1.0-epoc32-3.2.zip<br>
qt-mobility-1.0.1-epoc32-5.0.zip<br>
+
qt-mobility-symbian-1.1.0-epoc32-5.0.zip<br>
qtmobility.sis<br>
+
qt-mobility-symbian-1.1.0-epoc32-symbian3.zip<br>
 +
qt-mobility-symbian-1.1.0-s60.sis<br>
 +
qt-mobility-symbian-1.1.0-symbian3.sis<br>
 +
 
 
features/mobility.prf.template<br>  
 
features/mobility.prf.template<br>  
 
INSTALL.symbian<br>
 
INSTALL.symbian<br>
  
INSTALL.symbian是在Symbian安装指南,你可以选择不看,接着往下看文章。
+
'''INSTALL.symbian'''是在Symbian 平台上的开发的SDK安装指南。它是一个文本文件,你可以选择任何一个文件浏览器打开阅读。你可以选择不看,接着往下看文章。
  
 
== 安装Qt-Mobility ==
 
== 安装Qt-Mobility ==
  
 +
=== 安装到S60 SDK上 ===
  
=== 安装到手机上 ===
+
qt-mobility-1.1.0-epoc32-<SYMBIAN_SDK>.zip  对应相应的symbian平台,需要分别解压,解压后都是名字为 '''epoc32''' 的目录,将解压后的 '''epoc32''' 拷贝到对应SDK目录下的epoc32中。<br><br>
  
 +
之前Nokia Qt SDK1.0.0版本 除了epoc32之外,还有一个features/mobility.prf.template 文件需要拷贝到Qt的mkspecs features目录下,默认安装的话路径是'''C:\Qt4.6.3\mkspecs\features'''目录下。由于Nokia Qt SDK1.0 在发布时有一个小小的错误,开发者可以参考文章[https://bugreports.qt-project.org/browse/QTSDK-98 features and some other files for Qt Mobility in the Symbian part are missing] 对SDK 进行修复。
  
安装到手机上的相对简单一点,将QtMobility_Express_Signed.sis文件安装到你的手机上,甭管你的手机S60是3.1/3.2版或者第5版,都用的同一个安装文件
+
===拷贝mobility.prf文件===
 +
将 <QTMOBILITYDIR>/features/mobility.prf.template 文件拷贝成 QTDIR/mkspecs/features/mobility.prf。<br>
 +
可在编译环境下运行'qmake -v' 来查看目前的Qt 目录。
  
=== 安装到S60 SDK上 ===
+
=== 安装到手机上 ===
 
+
*前提:手机上需要安装Qt 4.7
稍微麻烦点,将三个文件 qt-mobility-1.0.1-epoc32-3.1.zip/qt-mobility-1.0.1-epoc32-3.2.zip/qt-mobility-1.0.1-epoc32-5.0.zip分别对应3.1,3.2和5.0版本的.zip文件,需要分别解压,解压后都是名字为epoc32的目录,各自解压将epoc32*拷贝到对应SDK目录下的epoc32里。<br>
+
*手机上安装Qt-Mobility支持库,只需将qt-mobility-symbian-1.1.0-s60.sis文件安装到手机即可,此安装包适合S60 FP1、FP2和5th。
除了epoc32之外,还有一个features/mobility.prf.template 文件需要拷贝到Qt的mkspecsfeatures目录下,默认安装的话路径是'''C:\Qt4.6.3\mkspecs\features'''目录下。
+
*将qt-mobility-symbian-1.1.0-symbian3.sis文件安装到symbian^3手机上。
 +
注意这里QT Mobility 1.1.0的一个bug,上述文件不能安装,改为安装[http://get.qt.nokia.com/qt/add-ons/qt-mobility-symbian-1.1.0-symbian3-nokia-signed.sis qt-mobility-symbian-1.1.0-symbian3-nokia-signed.sis]
  
 
== 可以写Qt-Mobility了 ==
 
== 可以写Qt-Mobility了 ==
  
不想从头开始写就从下载的源代码里的example里找个工程来编译看看。 编译命令很简单
+
不想从头开始写就从下载的源代码里的example里找个工程来编译看看。 编译命令很简单 qmake;make 就可以了。如果想运行的话执行make run
qmake;make 就可以了。如果想运行的话执行make run
+
 
需要注意的是绝大部分的.pro里都会include一个example.pri文件,把那一行删掉或注释掉,它是用于编译整个QtMobility源码系统和所有example时的一些共用选项,我们只编一个应用不需要它,否则会出错。 要用到QtMobility模块的话, .pro里都会有一句”Qt+=mobility”,这就是要用到mobility.prf文件的地方了。
 
需要注意的是绝大部分的.pro里都会include一个example.pri文件,把那一行删掉或注释掉,它是用于编译整个QtMobility源码系统和所有example时的一些共用选项,我们只编一个应用不需要它,否则会出错。 要用到QtMobility模块的话, .pro里都会有一句”Qt+=mobility”,这就是要用到mobility.prf文件的地方了。
  
如果你不喜欢用命令行方式编译的话,从Carbide或QtCreator中引入一个QtMobility example 工程也能正常编译。
+
如果你不喜欢用命令行方式编译的话,从 Carbide 或 QtCreator 中引入一个QtMobility example 工程也能正常编译。
  
 
== 想运行到手机上? ==
 
== 想运行到手机上? ==
  
没问题,命令行方式的话,在执行qmake后,执行make release-gcce ; make sis 命令就会给你编出一个.sis文件来。直接把.sis文件拷贝到手机上安装就可以了。不过因为QtMobility需要比较高级的一些系统权限,你会发现有些应用利用自签名没法安装,那么你需要将你的应用传到symbiansigned.com上去做个[[Symbian_Sign|签名]],然后下载,就能装到手机上了。
+
没问题,命令行方式的话,在执行qmake后,执行make release-gcce ; make sis 命令就会给你编出一个.sis文件来。直接把.sis文件拷贝到手机上安装就可以了。不过因为QtMobility需要比较高级的一些系统权限,你会发现有些应用利用自签名没法安装,那么你需要将你的应用传到symbiansigned.com上去做个[[Symbian Signed (Chinese)|签名]],然后下载,就能装到手机上了。
 +
 
 +
==相关文章==
 +
*[[Qt 开发]]
 +
*[[Qt Mobility 开发]]
 +
*[[Setting_up_environment_for_Qt_Mobility_API | 设置Qt Mobility API 环境]]。

Latest revision as of 09:07, 30 April 2013

Article Metadata

兼容于
平台:
Symbian

文章
bugatcuteqt 在 19 Mar 2010 创建
最后由 hamishwillee 在 30 Apr 2013 编辑

Needs-update.png本文需要更新: 如果您发现这篇文章有用,请修复下面的问题,然后从文章中删除 {{ArticleNeedsUpdate}} 模板,以消除此警告。

原因: hamishwillee (21 Nov 2011)
Qt Mobility is now delivered with the Qt SDK. This is probably largely accurate but needs a review.

Contents

[edit] QtMobility简介

QtMobility是专门用于开发Qt应用的手机功能专有模块。
如果你希望你的Qt应用能够使用到手机的通信录短信定位拍照多媒体传感器网络连接管理等等功能,那么只有标准的Qt库是不够的,还需要另外安装QtMobility,本文讲的就是如何为你的Symbian开发环境提供QtMobility的支持。更多关于Qt Mobility API 的介绍可以在Qt Mobility Project网址找到。

注:如果你使用的是Nokia Qt SDK开发环境,那么QtMobility已经随安装包一起安装,在Qt Creator 开发纯的Qt应用时(不含任何Symbian C++ API的 Qt应用),可以跳过本文而不用进行任何额外的安装,但是开发者可以参考features and some other files for Qt Mobility in the Symbian part are missing 来修正自己的安装过的SDK。如果开发者使用的是Carbide.C++环境,或者是在使用Qt Creator IDE,但是要使用到Symbian S60 SDK来开发的话(应用不是纯的Qt代码,需要按照本文对开发环境进行额外的配置

[edit] 下载安装包和源代码

Qt Mobility 的项目入口在 New-Qt-APIs ,在这里可以找到最新的版本。所有Qt Mobility 的版本可以在连接找到。

9 November 2010 Qt 4.7.1
Qt Mobility 1.1.0
Symbian^3开发研究使用 Qt 4.7 for Symbian^3 - developer version
qt-mobility-symbian-1.1.0-symbian3-nokia-signed.sis,

[edit] 解压安装包

解压安装包后关键的文件有几个

qt-mobility-symbian-1.1.0-epoc32-3.1.zip
qt-mobility-symbian-1.1.0-epoc32-3.2.zip
qt-mobility-symbian-1.1.0-epoc32-5.0.zip
qt-mobility-symbian-1.1.0-epoc32-symbian3.zip
qt-mobility-symbian-1.1.0-s60.sis
qt-mobility-symbian-1.1.0-symbian3.sis

features/mobility.prf.template
INSTALL.symbian

INSTALL.symbian是在Symbian 平台上的开发的SDK安装指南。它是一个文本文件,你可以选择任何一个文件浏览器打开阅读。你可以选择不看,接着往下看文章。

[edit] 安装Qt-Mobility

[edit] 安装到S60 SDK上

qt-mobility-1.1.0-epoc32-<SYMBIAN_SDK>.zip 对应相应的symbian平台,需要分别解压,解压后都是名字为 epoc32 的目录,将解压后的 epoc32 拷贝到对应SDK目录下的epoc32中。

之前Nokia Qt SDK1.0.0版本 除了epoc32之外,还有一个features/mobility.prf.template 文件需要拷贝到Qt的mkspecs features目录下,默认安装的话路径是C:\Qt4.6.3\mkspecs\features目录下。由于Nokia Qt SDK1.0 在发布时有一个小小的错误,开发者可以参考文章features and some other files for Qt Mobility in the Symbian part are missing 对SDK 进行修复。

[edit] 拷贝mobility.prf文件

将 <QTMOBILITYDIR>/features/mobility.prf.template 文件拷贝成 QTDIR/mkspecs/features/mobility.prf。
可在编译环境下运行'qmake -v' 来查看目前的Qt 目录。

[edit] 安装到手机上

  • 前提:手机上需要安装Qt 4.7
  • 手机上安装Qt-Mobility支持库,只需将qt-mobility-symbian-1.1.0-s60.sis文件安装到手机即可,此安装包适合S60 FP1、FP2和5th。
  • 将qt-mobility-symbian-1.1.0-symbian3.sis文件安装到symbian^3手机上。

注意这里QT Mobility 1.1.0的一个bug,上述文件不能安装,改为安装qt-mobility-symbian-1.1.0-symbian3-nokia-signed.sis

[edit] 可以写Qt-Mobility了

不想从头开始写就从下载的源代码里的example里找个工程来编译看看。 编译命令很简单 qmake;make 就可以了。如果想运行的话执行make run 需要注意的是绝大部分的.pro里都会include一个example.pri文件,把那一行删掉或注释掉,它是用于编译整个QtMobility源码系统和所有example时的一些共用选项,我们只编一个应用不需要它,否则会出错。 要用到QtMobility模块的话, .pro里都会有一句”Qt+=mobility”,这就是要用到mobility.prf文件的地方了。

如果你不喜欢用命令行方式编译的话,从 Carbide 或 QtCreator 中引入一个QtMobility example 工程也能正常编译。

[edit] 想运行到手机上?

没问题,命令行方式的话,在执行qmake后,执行make release-gcce ; make sis 命令就会给你编出一个.sis文件来。直接把.sis文件拷贝到手机上安装就可以了。不过因为QtMobility需要比较高级的一些系统权限,你会发现有些应用利用自签名没法安装,那么你需要将你的应用传到symbiansigned.com上去做个签名,然后下载,就能装到手机上了。

[edit] 相关文章

This page was last modified on 30 April 2013, at 09:07.
1224 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×