Qt 4.7.4 release bundle for Symbian

Published by at

Last week Nokia announced the availability of the Qt 4.7.4 release bundle for Symbian. This is the same release that is shipping in Symbian Belle handsets and is now also available for Symbian Anna handsets. The bundle contains Qt 4.7.4, Qt Quick 1.1, Qt Mobility 1.2, Qt Webkit 2.1.1 and Qt Quick Components 1.1 for Symbian; collectively representing a major release for Qt on Symbian.

Key points

  • Application using the Qt 4.7.4 libraries should use less RAM than those using earlier versions of the Qt libraries
  • Improved graphics handling and performance characteristics
  • Updated and improved support for Belle UI views and widgets in Qt Quick and Qt Quick Components for Symbian 1.1, plus improved support split-screen text input and TV-out screen handling.
  • Qt Mobility 1.2 introduces API support for NFC
  • For Belle handsets Qt is included in the device's firmware. This is the first time this has happened and reflect the increasing importance of Qt and the fact it will be used to enable more of the standard (out of the box) applications.

Qt 4.7.4

The Qt 4.7.4 release of focused on providing additional stability, performance and functionality improvements for Symbian. In general Qt is now better integrated into the Symbian operating system services.

The most significant of the performance improvements come from changes to the Qt graphics system for Symbian:

In Qt graphics system for Symbian there are big changes in how graphics resources are managed in the default OpenVG graphics system used by Qt applications. We are also introducing the opt-in OpenGL ES based graphics system to wider use with better resource management as part of Qt 4.7.4. Both of these changes improve the use of scarce GPU memory and have better graphics memory releasing schemes when applications are moved to background. We have also better integration to Symbian OS transition animations. This means that when stopping and starting Qt applications there are smoother animations that are also better aligned with the same effects presented with Symbian OS Avkon applications.

Efforts have also been made to improve memory management in Qt 4.7.4, which means applications using the Qt 4.7.4 libraries will use less RAM than earlier versions. However, there are still memory limitations that developers should be aware of, especially for graphics memory on the original Symbian^3 devices.

Qt 4.7.4 also contains enablers for Qt Quick 1.1 and Qt Mobility 1.2 (see below).

Qt Quick 1.1 and Qt Quick Components for Symbian 1.1

The most obvious visual impact of the new release is enabled by Qt Quick 1.1 and the Qt Quick Components for Symbian 1.1. The basic aim of Qt Quick Components for Symbian is to allow applications to meet the Symbian UI Design Guidelines; in other words to have the same look and feel as the standard native applications. Qt Quick with Qt Components is now the recommended UI solution for Symbian applications. Support for the older QtGui module widgets on Symbian are now deprecated.  

The most noticeable UI update in this release is full support for split-view input (when a virtual keyboard is overlaid on content, rather than obscuring it completely). Split-screen view is integrated into all Qt editor widgets.

There's also support for the 'iconic' Symbian Belle toolbar and the drop down status panel. For example, developers can use the the StatusBar Qt Quick Component widgets and this will automatically provide access to the status panel functionality.

Belle UIBelle UI

Split-screen view and status panel UI examples

Also new is support for TV-out functionality (either HDMI out or 3.5mm analog composite out). Developers can now use the TV screen independently of the phone screen (i.e. not just a clone). This allows for applications that show different content in TV-Out mode than they do in standard mode (or to use a control screen on the phone, while showing content on the TV screen).

Other updates include right-to-left language support, input context (set size and visibility of input panels), inverted style (alternative style), and a number of new components (Label, SearchBox, and PageStackWindow). PageStackWindow is especially useful - it is a shortcut to bring all the essential components in one go (StatusBar, page navigation and ToolBar), with the standard look and feel. There are also a number of performance improvements - some components will now load quicker (e.g. TextArea and TextField) and scrolling is smoother (ListView).

Qt Mobility 1.2

The Qt Mobility module is updated to version 1.2. The main addition is support for two local communications APIs: Bluetooth and NFC. NFC is a key feature in all the Symbian Belle handsets (Nokia 603, Nokia 700, Nokia 701). The addition of NFC should accelerate the growth of third party applications using NFC. Qt Mobility 1.2 also includes improvements in the multimedia APIs and a number of bug fixes and performance improvements.

How do I get the update?

The update will primarily be delivered through the Smart Installer. For consumers this means there is no need to specifically download the update, instead it will be installed automatically when required by an application.

From Symbian Belle onwards Qt will be part of the firmware of the phone. As Nokia explain:

One reason for this is that more and more Nokia -provided device applications themselves will be dependent on Qt. Because of the dependency, Qt has become integral part of Symbian software stack. Thus it is also necessary to have it as a part of the firmware rather than in more volatile user memory (C:-drive). One of the first Nokia -provided Qt Quick-based applications is the new Nokia Store. Upcoming Symbian SW updates (firmware or add-on SW updates) will roll out more Qt and Qt Quick-based applications.

Developers will automatically get the update via the SDK update functionality, but can also be downloaded from the Qt Download Page. Developers should consider which target to use when building Qt applications; more information on this is available on the Qt site (see more information links below).

More information

More details are available in the following Qt Blog and Qt Wiki posts: