×
Namespaces

Variants
Actions
(Difference between revisions)

Latest Qt and Qt mobility evaluation on Maemo

From Nokia Developer Wiki
Jump to: navigation, search
croozeus (Talk | contribs)
m
hamishwillee (Talk | contribs)
m (Hamishwillee - Bot update - Add ArticleMetaData)
(39 intermediate revisions by 4 users not shown)
Line 1: Line 1:
[[Category:Qt]][[Category:Qt for Maemo]][[Category:Qt Mobility]]
+
{{ArticleMetaData <!-- v1.2 -->
Regardless of the Qt and Qt Mobility versions provided by the Maemo5 firmware, an evaluation build of the latest Qt and Qt Mobility is available from the Extras-devel repository. These libraries cannot be used for publishing software to Ovi (or promoted to Extras) nor do they come with any warranty, but are good for evaluating real-life performance and behavior. The components that are part of this initiative are labeled with '''experimental''' in their package names. They are installed in parallel to the Maemo5 libraries, so they pose minimal danger to your existing install and do not affect stable software written for Maemo.
+
|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/ Qt SDK 1.1.4]) -->
 +
|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 -->
 +
|language= <!-- Language category code for non-English topics - e.g. Lang-Chinese -->
 +
|translated-by= <!-- [[User:XXXX]] -->
 +
|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= 20101231
 +
|author= [[User:Achipa]]
 +
}}
 +
[[Category:Maemo]][[Category:Qt Mobility]]
 +
{{Abstract|This article explains how to get and install the latest ''community supported'' versions of Qt and Qt Mobility for Maemo 5 from the Extras-devel repository.}}
  
'''Qt Mobility 1.1.0'''
+
Note that these libraries cannot be used for publishing software to Ovi nor do they come with any warranty, but are good for evaluating real-life performance and behavior. They are installed in parallel to the Maemo5 libraries, so they pose minimal danger to your existing install and do not affect stable software written for Maemo.
  
[http://maemo.org/packages/package_instance/view/fremantle_extras-devel_free_armel/libqtm-11-dev/1.1.0-0fn~fremantle4/ libqtm-11-dev package]
+
NOTE: All the packages referenced are found in extras-devel
  
To install, from the console (both on device and in scratchbox) do
+
= Qt Mobility 1.2 =
  
apt-get install libqtm-11-dev
+
[http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility/libqtm-12-dev_1.2.0+git20111104-0nd~fremantle5_armel.deb libqtm-12-dev package]
  
For Qt to know which mobility version to use, you will need to specify the following
+
Both QtSDK and Scratchbox environments are supported and the 1.2 mobility packages are available from Extras. Use the environment you're more familiar with.
  
CONFIG += mobility11
+
=== QtSDK install ===
  
in your projects .pro file (instead of CONFIG += mobility). For help and discussion about this version, see the [http://talk.maemo.org/showthread.php?p=907358 maemo.org community developer thread]
+
Download the mobility packages from maemo.org ([http://repository.maemo.org/extras-devel/pool/fremantle/free/q/qt-mobility/libqtm-12-dev_1.2.0+git20111104-0nd~fremantle5_armel.deb deb package here])
  
----
+
Open a shell prompt and go to the directory with the downloaded files and install them into your rootstrap with:
  
'''Qt Mobility 1.2.0 tech preview'''
+
'''Linux'''
 +
/path/to/your/QtSDK/Maemo/4.6.2/bin/mad-admin xdpkg -i libqtm-12-dev_1.2.0+git20111104-0nd~fremantle5_armel.deb
 +
/path/to/your/QtSDK/Maemo/4.6.2/bin/mad-admin xdpkg -i libqtm-12_1.2.0+git20111104-0nd~fremantle5_armel.deb
  
Currently work in progress, will be used in the same way as libqtm-11, so
+
'''Windows'''
 +
\path\to\your\QtSDK\Maemo\4.6.2\wbin\mad-admin.cmd xdpkg -i libqtm-12-dev_1.2.0+git20111104-0nd~fremantle5_armel.deb
 +
\path\to\your\QtSDK\Maemo\4.6.2\wbin\mad-admin.cmd xdpkg -i libqtm-12_1.2.0+git20111104-0nd~fremantle5_armel.deb
  
 +
=== Scratchbox install ===
 +
 +
Make sure extras-devel is enabled in you repositories, and do
 +
 +
apt-get update
 
  apt-get install libqtm-12-dev
 
  apt-get install libqtm-12-dev
  
and in you .pro file:
+
=== Install on actual device ===
 +
 
 +
apt-get install libqtm-12
 +
 
 +
=== Usage ===
 +
 
 +
For Qt to know which mobility version to use, you will need to specify the following
 +
maemo5 {
 +
  CONFIG += mobility12
 +
} else {
 +
  CONFIG += mobility
 +
}
 +
 
 +
in your projects .pro file (instead of CONFIG += mobility). For help and discussion about this version, see the [http://talk.maemo.org/showthread.php?p=907358 maemo.org community developer thread]. Note that you don't have to have to add the config option if you are just using the QML bindings.
 +
 
 +
=== Mobility sensor orientation ===
 +
 
 +
Note that compared to other Nokia devices, the N900 has a landscape default, i.e. the X and Y accelerometer axis' are swapped. If you would like your code to work with the same axis on all Nokia devices, insert
 +
 
 +
qputenv("N900_PORTRAIT_SENSORS", "1");
 +
 
 +
in your main function (for details on this, see http://bugreports.qt.nokia.com/browse/QTMOBILITY-1044 )
 +
 
 +
'''Status:'''
 +
 
 +
(Ville) Confirmed to work: ''Multimedia'' ("player" demo can stream rtsp video, full screen works)
  
CONFIG += mobility12
+
(Ville) Confirmed to work: QmlMapViewer example with qtm-12 ("import QtMobility.location 1.1", Map, MapCircle, MapMouseArea). Does *not* work with qtm-11.
  
  
----
+
= Using the libraries from QML =
  
'''Qt 4.8'''
+
If you want to use the QML components of Qt Mobility, you have to add their paths to the QML search path. For the '''qmlviewer''' application, you can use the <code>-I /opt/qtm12/imports</code> command line parameter. In C++, you can do something like this:
  
libqt4-experimental
+
viewer.engine()->addImportPath(QString("/opt/qtm12/imports"));
 +
viewer.engine()->addPluginPath(QString("/opt/qtm12/plugins"));
  
apt-get install libqt4-experimental-dev
+
If you are using PySide, you can achieve the same using:
  
To use this version, you have to either call its qmake with
+
viewer.engine().addImportPath('/opt/qtm12/imports')
 +
viewer.engine().addPluginPath('/opt/qtm12/plugins')
  
/opt/qt48/bin/qmake my-project.pro
 
  
or, if you are using the Nokia Qt SDK, add it as a alternate Qt version
+
= Qt Mobility 1.1 =
  
NOTE: Qt 4.8 will receive it's first public binary release when it reaches at least the Tech Preview phase (until then the APIs are changing too quickly for public releases to make sense)
+
Qt Mobility 1.1.x on Maemo5 is no longer maintained. Please use 1.2.x[[Category:MeeGo Harmattan]] [[Category:Symbian]]

Revision as of 01:52, 26 July 2012

Article Metadata
Article
Created: achipa (31 Dec 2010)
Last edited: hamishwillee (26 Jul 2012)

This article explains how to get and install the latest community supported versions of Qt and Qt Mobility for Maemo 5 from the Extras-devel repository.

Note that these libraries cannot be used for publishing software to Ovi nor do they come with any warranty, but are good for evaluating real-life performance and behavior. They are installed in parallel to the Maemo5 libraries, so they pose minimal danger to your existing install and do not affect stable software written for Maemo.

NOTE: All the packages referenced are found in extras-devel

Contents

Qt Mobility 1.2

libqtm-12-dev package

Both QtSDK and Scratchbox environments are supported and the 1.2 mobility packages are available from Extras. Use the environment you're more familiar with.

QtSDK install

Download the mobility packages from maemo.org (deb package here)

Open a shell prompt and go to the directory with the downloaded files and install them into your rootstrap with:

Linux

/path/to/your/QtSDK/Maemo/4.6.2/bin/mad-admin xdpkg -i libqtm-12-dev_1.2.0+git20111104-0nd~fremantle5_armel.deb 
/path/to/your/QtSDK/Maemo/4.6.2/bin/mad-admin xdpkg -i libqtm-12_1.2.0+git20111104-0nd~fremantle5_armel.deb

Windows

\path\to\your\QtSDK\Maemo\4.6.2\wbin\mad-admin.cmd xdpkg -i libqtm-12-dev_1.2.0+git20111104-0nd~fremantle5_armel.deb
\path\to\your\QtSDK\Maemo\4.6.2\wbin\mad-admin.cmd xdpkg -i libqtm-12_1.2.0+git20111104-0nd~fremantle5_armel.deb

Scratchbox install

Make sure extras-devel is enabled in you repositories, and do

apt-get update
apt-get install libqtm-12-dev

Install on actual device

apt-get install libqtm-12

Usage

For Qt to know which mobility version to use, you will need to specify the following

maemo5 {
  CONFIG += mobility12
} else {
  CONFIG += mobility
}

in your projects .pro file (instead of CONFIG += mobility). For help and discussion about this version, see the maemo.org community developer thread. Note that you don't have to have to add the config option if you are just using the QML bindings.

Mobility sensor orientation

Note that compared to other Nokia devices, the N900 has a landscape default, i.e. the X and Y accelerometer axis' are swapped. If you would like your code to work with the same axis on all Nokia devices, insert

qputenv("N900_PORTRAIT_SENSORS", "1");

in your main function (for details on this, see http://bugreports.qt.nokia.com/browse/QTMOBILITY-1044 )

Status:

(Ville) Confirmed to work: Multimedia ("player" demo can stream rtsp video, full screen works)

(Ville) Confirmed to work: QmlMapViewer example with qtm-12 ("import QtMobility.location 1.1", Map, MapCircle, MapMouseArea). Does *not* work with qtm-11.


Using the libraries from QML

If you want to use the QML components of Qt Mobility, you have to add their paths to the QML search path. For the qmlviewer application, you can use the
-I /opt/qtm12/imports
command line parameter. In C++, you can do something like this:
viewer.engine()->addImportPath(QString("/opt/qtm12/imports"));
viewer.engine()->addPluginPath(QString("/opt/qtm12/plugins"));

If you are using PySide, you can achieve the same using:

viewer.engine().addImportPath('/opt/qtm12/imports')
viewer.engine().addPluginPath('/opt/qtm12/plugins')


Qt Mobility 1.1

Qt Mobility 1.1.x on Maemo5 is no longer maintained. Please use 1.2.x

309 page views in the last 30 days.
×