Support for Symbian

From Qt Wiki
Revision as of 15:18, 19 March 2015 by AutoSpider (talk | contribs) (Mark Outdated: Symbian no longer supported)
Jump to navigation Jump to search
IMPORTANT: The content of this page is outdated. Reason: The Symbian platform is no longer supported.
If you have checked or updated this page and found the content to be suitable, please remove this notice.
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

English 日本語

[toc align_right="yes" depth="2"]

Support for Symbian

Qt on Symbian

Qt is an integral part of the Symbian platform. The latest Symbian Belle phones include Qt as part of their firmware, and earlier phones have Qt support pre-installed as well. Symbian phones starting from S60 3rd Edition, Feature Pack 1 have had Qt support through downloadable modules. The relevant modules are automatically added via Smart Installer, which checks for dependencies during installation of Qt-based applications.

Qt in Symbian is highly integrated to the operating system features, such as graphics and file system. The tight integration increases performance of Qt applications.

If you are developing apps for Symbian phones and the Nokia N9, in most cases, you can use Qt under the free LGPL licensing option. Qt is cross-platform, and that means that you can use the code from one single code-base and rebuild for all supported platforms.

Qt SDK

Development of Qt apps for Symbian phones is undertaken easily using the Qt SDK. The current version (Qt SDK 1.2) offers features to build applications for Symbian Anna and Symbian Belle phones (as well as the Nokia N9 and desktop platforms) using Qt 4.7.4. Development for earlier versions of the Symbian platform and Qt are possible, using Qt SDK 1.1.2 available from the Nokia Developer website.

Getting Started on Symbian

Other notable topics:

Key Features of Symbian Development

In addition to the Qt SDK and Qt API, Qt provides you with added functionality for an optimized Symbian development experience.

Native Look and Feel

You can use the Qt Quick Components to create UIs with the native look and feel of the latest Symbian UI. For more information on the UI, see the Symbian Design Guidelines from Nokia Developer. For software development instructions, refer to the Qt Quick Components reference.

Graphics Features

Qt for Symbian contains a powerful paint engine that provides features such as anti-aliasing, gradients, curves, and transparency. It also has animation support with timelines and easing curves. Graphics rendering is also fully hardware accelerated using OpenVG on Symbian Anna and Belle phones.

Device Configurations

Qt is supported in Symbian phones based on S60 3rd Edition, Feature Pack 1 and later.

S60 3rd Edition Feature Pack 1 and 2 phones support Qt 4.6 only. Qt is not pre-installed in these phones and it needs to be installed before an application is deployed. Installation on end user phones is done using Smart Installer, which is built into applications created using the Qt SDK. All Nokia Store applications need to be packaged for compatibility with Smart Installer regardless to which Symbian phones or Qt releases the applications are targeted.

S60 5th Edition phones don't have Qt pre-installed, so Smart Installer deploys Qt if it's not already available. In contrast to S60 3rd Edition, Qt 4.7.3 with Qt Quick and Qt Mobility 1.1 is supported for S60 5th Edition phones.

Qt 4.7.4 is supported for Symbian^3, Symbian Anna, and Symbian Belle (and later) phones only. Smart Installer deployment is used for Symbian^3 and Symbian Anna phones. Symbian Belle has this Qt version in firmware.

Qt 4.8 is available with Nokia Belle Feature Pack 1 release. This Qt version for Symbian platform brings several improvements regarding performance and stability. Please see Qt 4.8 - Improvements in Symbian Platform for more information.

{background:#009900}. |=. Platform release|=. Built-in Qt in device|=. Smart Installer updateable|=. Latest Qt version available via Smart Installer| {background:#009900}. ||Qt|Qt WebKit|Qt Mobility|Qt Quick Components||Qt|Qt WebKit|Qt Mobility|Qt Quick Components| |S60 3rd Ed. FP 1 (3.1)| - | - | - | - |Yes|4.6.3|4.6.3|1.0.3| - | {background:#ddd}. |S60 3rd Ed. FP 2 (3.2)| - | - | - | - |Yes|4.6.3|4.6.3|1.0.3| - | |S60 5th Ed. (Symbian^1)| - | - | - | - |Yes|4.7.3|4.8.0|1.1.3| - | {background:#ddd}. |Symbian^3|4.6.3|4.6.3| - | - |Yes |4.7.4 (4.7.403)|2.1.0 (4.8.1) [1]|1.2.1 [4]|1.1| |Symbian Anna|4.7.3|2.1 (4.8.0)|1.1.3| - |Yes |4.7.4 (4.7.403)|2.1.0 (4.8.1) [1]|1.2.1 [4]|1.1| {background:#ddd}. |Symbian Belle PR1.0 and PR1.01|4.7.4 (4.7.401 and 4.7.402)|2.1.1 (4.8.1)|1.2.0| - |No [2]|N/A|N/A|N/A|1.1| |Symbian Belle PR1.1 [3] |4.7.4 (4.7.403)|2.1.1 (4.8.1)|1.2.1| 1.1 |No [2]|N/A|N/A|N/A|N/A| {background:#ddd}. |Nokia Belle Feature Pack 1 |4.8 (4.8.0)|2.1.1 (4.8.1)|1.2.2| 1.1 |No [2]|N/A|N/A|N/A|N/A| |Nokia Belle Refresh |4.8 (4.8.0)|2.1.1 (4.8.1)|1.2.2| 1.1 |No [2]|N/A|N/A|N/A|N/A|

Notes of the table:

  • Hyphen "-" in the table means "not available".
  • reference: Qt 4.7.4 bundle for Symbian^3 and Symbian has currently slightly older Qt WebKit 2.1.0 compared to Symbian Belle devices that have Qt WebKit 2.1.1.
  • reference: Symbian Belle will not receive Qt updates via Smart Installer, Qt will be updated in new OS releases (firmware updates).
  • reference: This firmware release is the basis of the Symbian Belle software update to earlier Symbian^3 and Symbian Anna devices.
  • reference: Qt Mobility 1.2.1 provided by Smart Installer is minor update to Qt Mobility 1.2.0 in-built in Symbian Belle. Belle devices will get Qt Mobility 1.2.1 via firmware update.
  • Qt WebKit has two different versioning schemes in Symbian: The Qt WebKit version and technical version. The technical version is given in brackets in the above table after Qt WebKit version. The technical version refers to the one used in Symbian SIS package and package registry of the device, and it is used in Smart Installer definitions (pkg files), whereas the Qt WebKit version is the one used e.g. in "Qt WebKit reference documentation:http://doc.qt.nokia.com/4.7-snapshot/qtwebkit-guide.html" and in "WebKit.org site:http://trac.webkit.org/wiki/QtWebKit".

Note: The Qt SDK provides several versions of the Qt binaries that can be installed on Symbian devices (SISX files). It is important to understand that these files are not meant to be installed on devices which already have Qt in ROM. As per info in the table above, Symbian Belle and later has the Qt bundle in ROM and therefore its pacakages cannot be installed manually using the SDK provided files. Nor is there a need for that. You can use the QtInfo utility to query your device's installed components and then install only the packages you notice to be missing (e.g. Notification API), or you can rely on the Smart Installer doing its smart determination of what needs to be installed.

For more information on which Qt module versions are supported in different Symbian phones, see the Symbian development topic from the Qt Creator documentation.

All Symbian phones supporting Qt provide for automatic switching between landscape and portrait mode, and touch screen and keypad input as appropriate. Qt is deeply integrated to the native Symbian OS and phone hardware features, such as hardware graphics acceleration.

Cross-platform Development Using Qt Creator

Qt Creator

Qt Creator is a complete cross-platform IDE included in the Qt SDK. The IDE enables you to create, build, debug, and run Qt applications across all supported platforms. You can have a single project and deploy that to multiple phones: such as Symbian and the Nokia N9 (using the MeeGo 1.2 Harmattan target).

For more information, please see the Qt documentation