Additionally, Qt launched a new cross-platform IDE, and killed off its Linux-only mobile device stack.
(Click for larger view of Qt Creator welcome screen)Taken as a whole, the slew of announcements reflect Qt Software's growing focus on Qt's cross-platform potential. As mobile and desktop environments converge, the company is aiming to help both mobile and desktop application developers write software that can be recompiled to target new OSes with a high percentage of shared code. Qt has traditionally supported Windows, Linux, Mac OS ("Carbon"), and Java VMs, adding recent support for a
Windows CE/Mobile and
Nokia's Symbian-based S60. It has now also completed its 64-bit port to the native "Cocao" API in Mac OS X 10.5 (see below).
Exiting the Linux stack market Qt Extended, formerly Qtopia, has a seven-year history with hundreds of design wins, notably in VoIP phones and PDA-like devices. Yet, the company may have found it tough to market Qtopia in a field crowded with free alternatives like Android, Moblin, and Nokia's own Maemo stack.
Rather than abandon the code completely, the company is merging Qtopia libraries like bluetooth, touchscreen input, and IP telephony into its baseline Qt product, according to Chief Technologist Benoit Schillings. Schillings explained, "We are taking APIs and functionality specific to the embedded device market and moving it into the mainstream release... so, for example, you will see the Qtopia UI move to other platforms."
Describing the discontinuation as an "evolution," Schillings continued, "Today, we do not need to control the entire stack. Being cross platform is more important. We want people who write Qt interfaces to be able to have flexibility. In the end, this will provide a product that is more coherent."
Schillings added, "It's all about adoption for us. How do we get Qt everywhere? We need to remove some barriers, and be more open in how we integrate with different development architectures."
A more open, developer-friendly Qt 4.5As
previously announced, Qt 4.5 will be the first Qt release to be offered under a more open LGPL ("Lesser" or "Library" General Public License) licensing option, alongside existing commercial and GPL license options. LGPL places copyleft restrictions on the libraries themselves, but does not extend these restrictions to software that links to them. Qt Software sums it up best when it says that Qt developers "can now build their proprietary applications on top of Qt without paying a licensing fee."
With the increased adoption expected to result from the looser license, Qt Software is ramping up for greater open source collaboration. In the coming weeks, Qt Software will launch a "Qt Contribution" website where developers can view the Qt code repository, read coding guidelines, and contribute to Qt-related development projects according to a clearly stated contribution model, Schillings said.
Additionally, Qt Software has announced a paid technical support option for those licensing Qt under LGPL and GPL licenses.
What's new in Qt 4.5For starters, the port to Windows CE, first unveiled last year, has been completed, with new features including the Phonon Multimedia Framework. Also completed, according to the company, is the port to Apple's new Mac OS X Cocoa API. Now, developers wanting to target Mac platforms can reportedly create applications that support 32 or 64 bit, Intel or PowerPC Mac binaries from a single source tree.
Qt 4.5 now offers several upgraded graphics engines that are said to dramatically improve Qt-based run-times. Developers can use a new pluggable graphics system that lets them select between raster, native graphics system, or the newly supported OpenGL ES 2.0. An OpenVG back-end, meanwhile, is said to be in the works.
Graphics performance improvements are said to be based on the following:
- Paint engine and text rendering improvements
- GraphicsView and StyleSheet improvements
- X11 paint engine now uses XSHM (shared memory), for less overhead
- New OpenGL ES 2.0-based paint engine
To show developers just how much faster they are supposedly tuning their applications, the company has provided a new "QtBenchLib" performance benchmarking library. Various benchmarks from the library are shown in the following charts.

Raster drawing benchmarks (Source: Qt Software)
(Click to enlarge)
Mass updates and moves benchmarks. (Source: Qt Software)
(Click to enlarge)
Drawing images benchmark (Source: Qt Software)
(Click to enlarge)Qt 4.5 also improves integration with the
WebKit web rendering engine, a process that began with last year's
Qt 4.4. Qt now uses the latest upstream (trunk) version of WebKit, which is said to improve performance, and offers support for the blazing-fast SquirrelFish Javascript interpreter. The new WebKit also provides off-line access to web data, and the ability to integrate media into web-aware apps with less code, and support for Netscape's plug-in API.
Specific new WebKit-related features are said to include:
- Near 100 percent compliance with Acid3 testsuite
- Full page zooming of images and fonts
- CSS-based transformation and animation (WebKit extension)
- Standards compatibility improvements
- HTML 5 support with A/V elements using Phonon, and client-side storage of web content
- SquirrelFish JavaScript engine for executing JavaScript code in WebKit
- Netscape plugin API support, allowing Qt apps to load Adobe Flash elements, such as the YouTube player
Other new Qt 4.5 features include advanced web UI effects, such as animations, transformations, and zooming. XML support has also been improved, with the ability to more easily reformat XML content without modifying the data structure. The improved XML support also means there is no longer a need for an intermediary DOM presentation layer, says Qt. Software.
Additional enhancements to Qt 4.5 are said to include:
- OpenDocument Format read support (write to follow) for OpenOffice.org and KOffice interoperability
- Improved proxy support, offering new integration with system proxy settings and non-trivial proxy case handling
- Qt Designer improvements, including support for changing item types and different screen resolutions
- Qt Assistant improvements
- QGtkStyle, enabling Qt apps to look native on GNOME
- Top-level semi-transparent window support
Qt. 4.5 adds a Debugger application for Qt Script, which is billed as an integrated ECMA standard scripting engine. Features are said to include a command line tool for QtScript output, and the ability to step through running script code to inspect variables. Meanwhile, there are future plans to bridge SquirrelFish to QtScript.
Qt CreatorThe new Qt Creator IDE is available for Windows, Mac OS X, and Linux desktops. It includes an "advanced" C/C++ editor, and integrates with Qt-specific features like "Signals & Slots," Qt Designer, and Qmake. It also integrates a debugger that is aware of Qt class structures, says the company. An open plug-in architecture is promised for a future release.
Schillings commented, "It's written using Qt, and running on all the platforms that Qt supports. So, it's a very good testbed for our own product."
Schillings added, "We're not trying to replace native tools like S60 Carbide, Visual Studio, and Eclipse, but it's valuable to have a consistent environment across all the supported platforms."


Qt Creator screens for code completion (left) and visualizing QStringList
(Click on either to enlarge)Other touted Qt Creator features include "lightning fast" code navigation tools, nav tools that let developers quickly open files without knowing exact names or locations, and indexed searching for classes, functions, symbols, and files. Developers can follow symbols across several locations and files, and switch quickly between headers and source files, or between declarations and definitions, the company says.
The C++ code editor is said to feature syntax highlighting and automatic code completion. Other features are said to include hints, code folding, parenthesis matching and selection, and block selection.
Additional features of Qt Creator include:
- Context sensitive help system
- Integrated visual debugger, based on gdb
- Integrated source code management
- Project and build management tools
- LGPL licensing option
AvailabilityQt. 4.5, Qt Creator, and a final Qt Extended 4.5 release are all available now. Also available for Windows, Linux (32- and 64-bit), and Mac OS X desktops are "Qt SDKs," which are pre-built, single-installer packages comprised of the Qt 4.5 libraries, Qt Creator, and Qt Linguist. The company is currently reviewing the possibility of offering an embedded version of the SDK, it said.
Related Stories on WindowsForDevices:Related Stories on our sister site, LinuxDevices.com: