|  | Home · Examples

# What's New in Qt 4.4

Qt 4.4 provides many improvements and enhancements over the previous releases in the Qt 4 series. This documents covers the most important features in this release, separated by category.

A comprehensive list of changes between Qt 4.3 and Qt 4.4 is included in the `changes-4.4.0` file available online.

A list of other Qt 4 features can be found on the What's New in Qt 4 page.

Highlights

- Qt WebKit Integration
- Multimedia API
- XQuery and XPath Support
- Widgets in Graphics View
- Concurrent Programming
- Improved Help System
- Printing System Improvements
- Qt for Windows CE
- Qt for Embedded Linux

## Qt WebKit Integration

As Web-based technologies and services become more important to users, access to an integrated browser component has become a requirement for application developers.

Qt 4.4 includes the QtWebKit module which provides a Qt-style API for the open source WebKit browser engine, making it possible for developers to use a fully-featured Web browser to display documents and access online services. The module also provides a level of integration beyond support for simple Web browsing tasks, enabling other application components to communicate with the browser via Qt's signals and slots inter-object communication mechanism.

A Web browser demo application is provided as a proof of concept to show what can be achieved with Qt and WebKit.

## Multimedia API

Long-awaited multimedia support for Qt applications has arrived in the form of the Phonon Multimedia Framework, created in partnership with the KDE community. This allows developers to write cross-platform code for playing audio and video streams from files or over the network.

A graph-based architecture provides an intuitive, extensible way to configure Phonon for playback. The use of native multimedia backends for each platform enables applications to support platform-specific media formats in addition to those commonly used on multiple platforms.

Examples and demonstrations provided with Qt show how to use Phonon for your multimedia applications.

## XQuery and XPath Support

The new QtXmlPatterns module provides facilities for XML processing beyond that supported by the QtXml module. Support for XQuery 1.0 and XPath 2.0 are provided in a way that integrates use of the query language and its data types with standard features in Qt, such as data models and signals and slots.

## Widgets in Graphics View

Many applications that use the interactive features provided by the Graphics View framework also use separate Qt widgets to control the way scenes are displayed to the user, often providing controls to allow zooming and rotation. Other specialized applications need to provide standard Qt widgets alongside graphics items within graphics scenes themselves.
Qt 4.4 provides a set of classes to allow standard Qt widgets to be added to graphics scenes, augmenting the collection of Graphics View classes. Widgets used in this way remain just as functional and responsive as normal widgets

## Concurrent Programming

The QtConcurrent framework builds on Qt's threading features to make it easier to write certain kinds of multi-threaded application by integrating implementations of the well-known map-reduce and filter-reduce algorithms with Qt's container classes and object model.

A synchonous (blocking) API is supplemented with an asynchronous (non-blocking) API which uses the concept of futures to handle synchronization between a main thread and several worker threads, simplifying the delivery of results.

## Improved Help System

Qt Assistant has been redesigned to use a self-contained help format for documentation packages that makes it easier to maintain collections of documents. The indexing facilities provided by Qt Assistant have been improved to allow multiple co-existing collections of documents to be searched, and results from advanced searches are presented in a familiar webpage-style result page.

With the arrival of the new help formats, the way Qt applications provide online help has also been updated. Qt Assistant has been improved to support automation as a child process of any Qt application, allowing applications to request specific items of documentation, perform searches, and even customize the user interface of Qt Assistant itself.

## Printing System Improvements

Improvements to printing in Qt 4.4 include support for custom page sizes and custom margins, as well as the ability to programatically enumerate printers via the new QPrinterInfo class.
A couple of new classes, QPrintPreviewWidget and QPrintPreviewDialog, have been added to make it easy to add a print preview to an application. The QPrintDialog and QPageSetupDialog classes for X11 have been redesigned to be easier to use.

## Qt for Windows CE

Qt 4.4 is the first release to include provision for Windows CE as a supported platform. Qt for Windows CE contains all functions necessary to develop end-to-end applications, as well as integrated developer tools, such as powerful graphical user interface (GUI) and forms builder and robust features for translation of applications into new languages.

## Qt for Embedded Linux

Qt 4.4 contains a number of improvements specifically for the Embedded Linux platform, many of which are related to performance and extending the range of supported display hardware. These include a screen driver DirectFB and a driver that uses the ATI Handheld Interface library.
In addition, a new selection of demonstrations and examples has been included to showcase the graphical features of Qt for Embedded Linux.