Support for Symbian
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 日本語
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
- Get Qt SDK - it has all the necessary tools for developing Qt applications for Symbian
- Read the Qt Creator documentation for Symbian on how connect to your phone to Qt Creator
- Read about easy UI creation with Qt Quick
- See Symbian Platform Notes
- A list of phones that have Nokia Store support for Qt applications
Other notable topics:
- Qt Mobility 1.2 What's New
- List of compatibility issues in the Qt 4.7.4 Release Bundle
- Publishing Symbian and Qt content - Minimum operating system selection
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 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