在Qt S60中使用QtMobility做开发
bugatcuteqt
(Talk | contribs) |
hamishwillee
(Talk | contribs) m (Hamishwillee - Add ArticleNeedsUpdate template) |
||
| (43 intermediate revisions by 5 users not shown) | |||
| Line 1: | Line 1: | ||
| − | [[Category:Qt | + | [[Category:Qt Mobility]][[Category:Symbian]][[Category:Lang-Chinese]] |
| − | == | + | {{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|<br />----]]|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/> | ||
| − | + | <font color="red">注:如果你使用的是Nokia Qt SDK开发环境,那么QtMobility已经随安装包一起安装,在Qt Creator 开发纯的Qt应用时(不含任何Symbian C++ API的 Qt应用),可以跳过本文而不用进行任何额外的安装,但是开发者可以参考[http://bugreports.qt.nokia.com/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> | |
| − | + | qt-mobility-symbian-1.1.0-epoc32-3.1.zip<br> | |
| − | + | qt-mobility-symbian-1.1.0-epoc32-3.2.zip<br> | |
| − | + | qt-mobility-symbian-1.1.0-epoc32-5.0.zip<br> | |
| − | mobility. | + | qt-mobility-symbian-1.1.0-epoc32-symbian3.zip<br> |
| − | qt-mobility-1.0.0- | + | qt-mobility-symbian-1.1.0-s60.sis<br> |
| + | qt-mobility-symbian-1.1.0-symbian3.sis<br> | ||
| − | + | features/mobility.prf.template<br> | |
| + | INSTALL.symbian<br> | ||
| + | |||
| + | '''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 在发布时有一个小小的错误,开发者可以参考文章[http://bugreports.qt.nokia.com/browse/QTSDK-98 features and some other files for Qt Mobility in the Symbian part are missing] 对SDK 进行修复。 | ||
| − | + | ===拷贝mobility.prf文件=== | |
| + | 将 <QTMOBILITYDIR>/features/mobility.prf.template 文件拷贝成 QTDIR/mkspecs/features/mobility.prf。<br> | ||
| + | 可在编译环境下运行'qmake -v' 来查看目前的Qt 目录。 | ||
| − | === | + | === 安装到手机上 === |
| − | + | *前提:手机上需要安装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,上述文件不能安装,改为安装[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 |
| − | + | ||
需要注意的是绝大部分的.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 工程也能正常编译。 | |
== 想运行到手机上? == | == 想运行到手机上? == | ||
| − | 没问题,命令行方式的话,在执行qmake后,执行make release-gcce ; make sis 命令就会给你编出一个.sis文件来。直接把.sis文件拷贝到手机上安装就可以了。不过因为QtMobility需要比较高级的一些系统权限,你会发现有些应用利用自签名没法安装,那么你需要将你的应用传到symbiansigned. | + | 没问题,命令行方式的话,在执行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 环境]]。 | ||
Revision as of 07:28, 21 November 2011
文章信息
原因: hamishwillee (21 Nov 2011)
Qt Mobility is now delivered with the Qt SDK. This is probably largely accurate but needs a review.
Contents |
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代码,需要按照本文对开发环境进行额外的配置。
下载安装包和源代码
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, |
解压安装包
解压安装包后关键的文件有几个
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安装指南。它是一个文本文件,你可以选择任何一个文件浏览器打开阅读。你可以选择不看,接着往下看文章。
安装Qt-Mobility
安装到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 进行修复。
拷贝mobility.prf文件
将 <QTMOBILITYDIR>/features/mobility.prf.template 文件拷贝成 QTDIR/mkspecs/features/mobility.prf。
可在编译环境下运行'qmake -v' 来查看目前的Qt 目录。
安装到手机上
- 前提:手机上需要安装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
可以写Qt-Mobility了
不想从头开始写就从下载的源代码里的example里找个工程来编译看看。 编译命令很简单 qmake;make 就可以了。如果想运行的话执行make run 需要注意的是绝大部分的.pro里都会include一个example.pri文件,把那一行删掉或注释掉,它是用于编译整个QtMobility源码系统和所有example时的一些共用选项,我们只编一个应用不需要它,否则会出错。 要用到QtMobility模块的话, .pro里都会有一句”Qt+=mobility”,这就是要用到mobility.prf文件的地方了。
如果你不喜欢用命令行方式编译的话,从 Carbide 或 QtCreator 中引入一个QtMobility example 工程也能正常编译。
想运行到手机上?
没问题,命令行方式的话,在执行qmake后,执行make release-gcce ; make sis 命令就会给你编出一个.sis文件来。直接把.sis文件拷贝到手机上安装就可以了。不过因为QtMobility需要比较高级的一些系统权限,你会发现有些应用利用自签名没法安装,那么你需要将你的应用传到symbiansigned.com上去做个签名,然后下载,就能装到手机上了。

