Channels ▼


Qt Application Development for Symbian

Do An Icon

SVG 1.1 and SVG 1.1 Tiny icons can be used in Qt applications. Some guidance how to create icons for Symbian platform can be found here.

Once you have created an icon for your application, add following statement to the .pro file and build the application.

Symbian {
   ICON = myicon.svg

Your Application (UID)

During development, you can use any UID3 from the 0xE0000000 to 0xEFFFFFFF range. However, before deployment, you need to get proper UID3 from Ovi Publishing program.

There are three different types of UIDs: UID1, UID2 and UID3. UID1 defined the binary types, like executables, libraries and data. UID2 is not always used since it describes the installation package with additional information. UID3 is used to uniquely identify the binary (EXE or DLL) within the system.

Qt uses project files (.pro) to generate system specific make files with qmake. These project files also carry information needed to deploy your Qt application on the Symbian device. The UID3 is specified in the project file (.pro) like this:

symbian {
    TARGET.UID3 = 0xE0000069   # UID3 which can be used during 						  # development. Remember to change 					           # this before deployment.

Deployment of the Application

Qt applications can be published in Ovi Store. The Ovi Store functionality for Qt content has been tested and enabled for the following 20 Nokia device models (at the time this article was written):

  • Symbian^3: N8-00, E7-00, C7-00 and C6-01 (these devices ship with Qt 4.6.3)
  • S60 5th Edition: X6-00, C6-00, N97, N97 mini, 5800 XpressMusic, 5530 XpressMusic, 5235, 5233, 5230, and 5228
  • S60 3rd Edition: E72, E71, E66, E63, and E52

The Nokia Smart Installer for Symbian makes the deployment of Qt applications to millions of Symbian devices easier even if those devices do not ship with Qt. The Smart Installer is an executable that is bundled with your Qt application with needed dependency information (such as the minimum Qt version for your application). The Smart Installer will detect during installation whether needed Qt libraries are already installed and if they are, it will only install the Qt application. Otherwise, Smart Installer will automatically download the needed Qt libraries and install them to your device. With the Smart Installer, there is no need to distribute Qt binaries with your application, making the installation package significantly smaller and better suited for distribution using channels like Ovi Store.

Use of Smart Installer is mandated, even though devices such as the Symbian^3 based Nokia N8 have Qt pre-installed.

Qt Creator supports automatic generation of Smart Installer enabled packages. In Projects page, select the Symbian Device target and Run Settings and tick the box "Create Smart Installer package."

Modify the Application .pro File

The UIDs of the main executable and the application .sis file (myQt­App.sis) must be the same and must match the one specified in the AppUID field of Ovi Publish. This will ensure the application will launch within the Ovi Store client once the application is installed.

Vendor information in your application's package file must match your publisher name and cannot contain Nokia or Vendor.

symbian {
    TARGET.VENDORID = 0x70000002   	# Use vendor ID you will get 						                  # from Nokia

Create an Installable (SIS file) with Qt SDK

SIS is an acronym that stands for Software Installation Script. It is an archive for Symbian OS. Package files (.pkg) define the content of an installable sis-file. The package file also defines the platforms the package is intended for, the name of your software, and the version and identifier of your application. Qt Creator takes care of creating template package files, which you can then modify if you so choose.

The Qt Creator makes this simple during development phase — needed SIS file is created when you want to run the application on a Symbian device (note: this has been changed in last edition of Qt SDK — earlier, SIS packages were created during build time). Qt Creator allows you to use either self-signed certificate or custom certificate when creating the SIS package for development.

Distribute the Embedded Package

Submit the app (unsigned SIS file with the UID provided) to the Ovi Store intake tool. The application will be tested based on Nokia content and store guideline, specific operator guideline and Symbian Signed test criteria. If it passes, it will be express signed by Nokia and published into Ovi Store; and you're done!

— Antti works as a Software Architect in Nokia/Qt, holds a MSc in Computer Science, and can be contacted at [email protected]. Eero works as Domain Lead in Nokia/Qt, holds a MSc in Computer Science, was a program manager for Qt for Symbian port, and can be contacted at [email protected].

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.