News

  • Home > News

        Qt adds multi-touch, Windows 7 support

        Eric Brown | Date: Dec 1, 2009 | Comments: 1



        Nokia's QT Software has upgraded its "Qt" cross-platform application and UI framework, adding multi-touch and gesture support. Qt 4.6 now supports Windows 7, Apple OS X 10.6 (Snow Leopard), plus Nokia's Symbian and Maemo platforms, and provides improved performance, according to the company.


        Qt 4.6 now supports Windows 7 and Apple's OS X 10.6, adding to the cross-platform development framework's existing support for other Windows versions, including Windows CE and Windows Mobile. (A completed port to Windows CE was unveiled earlier this year with the release of Qt 4.5.) Perhaps more important for Nokia, the framework finally supports the company's two key mobile operating systems: Symbian and the Linux-based Maemo. Thanks to community-driven efforts (see farther below), Qt also now supports the QNX and VxWorks real-time operating systems (RTOSes).

        "With Qt 4.6, we are adding more support for embedded systems, andsmartphones in particular," said Dilip Kenchamanna, Technologist, QtDevelopment Frameworks, in an interview with our sister publication LinuxDevicesyesterday. "We are now offering key enablers for a deep integration ofhybrid methods of development, letting developers work across platformsand combine web-based and native technologies."

        Animation and multi-touch

        Qt 4.6 introduces a new Animation Framework, which lets developers animate Qt elements called QObjects, including QWidgets, and enables custom animations and interpolation functions. The Framework "allows developers to create a very dynamic, fluid UI, with support for transitions and multi-touch. Animation performance is also improved, and we now offer a synchronized timer to better manage CPU utilization," according to Kenchamanna.



        Qt 4.6 animation effects

        New graphics effects are said to include opacity, drop shadows, glow, and filtering. In addition, animations can now controlled using easing curves and can be grouped together.

        The new multi-touch capabilities include gesture-based input methods such as flicking and kinetic scrolling (see the YouTube demo at the bottom of the page). Several basic gestures have been pre-programmed, with tools available for developing more advanced gesture input methods, said Kenchamanna. The multi-touch effects will be widely used on netbooks running Windows 7 or Linux, he added.



        Graphics effects in Qt 4.6

        The Animation Framework can plug into a new State Machine Framework, which lets developers create master state charts based on Harel state charts and SCXML. The new framework simplifies complex application semantics, reduces code bloat, improves maintainability, and makes event-driven programming more robust and reusable, claims Qt Software. The framework is said to integrate tightly with the Animation Framework to enable transitions to trigger on signals and Qt events, called QEvents.

        OpenGL, WebKit, and DirectFB

        Overall performance improvements are said to stem from a re-written Qt GraphicsView rendering algorithm, as well as a new OpenGL paint engine and support for 2D vector graphics using OpenVG. These enhancements, meanwhile, can be put to work in an overhauled WebKit implementation.

        "A major performance focus has been with WebKit," said Kenchamanna. "We are working with a recent branch from the WebKit trunk, and have added several key optimizations that enable WebKit to be a true web rendering engine on embedded systems. The version we offered in Qt. 4.5 was primarily for PCs, but this implementation offers things like better support for Javascript and Java JIT [just-in-time compiler]. And having web pages rendered to be hardware accelerated via OpenGL is also important."

        In addition, Qt 4.6 offers support for the open source Linux DirectFB library. Aimed at the set-top box (STB) market, DirectFB offers "hardware graphics acceleration, input device handling and abstraction, and integrated windowing system with support for translucent windows and multiple display layers," according to DirectFB.org.

        Qt Software has integrated DirectFB with Qt so that on Qt-driven STBs such as the Roku player (pictured at right), "all the features in Qt are now accelerated, so set-top delivers can deliver fluid user experiences on very high-resolution screens," said Kenchamanna.

        Qt Creator 1.3

        Qt Software has also updated the Qt Creator integrated development environment (IDE) that was introduced with Qt 4.5, and which is included in the Qt 4.6 SDK (software development kit). In addition to its previous support for Linux, Windows, and Mac desktop hosts, the version 1.3 offers preliminary support for Symbian targets, said Kenchamanna.

        Qt Creator offers new support for source code refactoring, which helps with developers who are working with large existing code bases and libraries, said Kenchamanna. "It helps to keep the architecture and the code consistent on the same environment for all developers to work on," he said. "It offers syntax and coding style standardizations, and you can do things like essentially doing a smart search and replace over a whole project."

        Community input and the ghosts of Qtopia

        The QNX and VxWorks RTOS ports are only part of the open source community driven contributions that have been integrated in Qt 4.6 and Qt Creator 1.3. "This is the first release since we launched the new Qt contribution model, and the community has provided a lot of input," said Kenchamanna. "People are not only providing feedback, but are now directly producing patches in a public system, a fair majority of which were accepted. They are also co-developing code with our developers. Qt is getting vital contributions both from the open source community, as well as commercial entities and corporations."

        Qt 4.5 was 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. In conjunction with this development, Qt Software launched 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.

        With Qt 4.6, Nokia has also released a technology preview of new Qt APIs from the Qt Mobility project, which is endeavoring to salvage the best components of the soon to be discontinued Qt Extended application stack for mobile Linux devices. (Nokia announced a phasing out period for Qt Extended, which was formerly called Qt for Embedded Linux, and before that, Qtopia, when it announced Qt 4.5 in March.) The first of these cross-platform APIs are said to provide developers with functionality such as location for navigation-type devices, as well as messaging, contacts, and bearer management.

         



        YouTube mini-demo of new Qt multi-touch effects
        Source: Qt Software
        (click to play)

        Further information

        More information on Qt 4.6, with links to downloads for the Qt 4.6 SDK, may be found here.

        More information on Qt Creator 1.3 may be found here.



         Related Stories on WindowsForDevices:Related Stories on our sister site, LinuxDevices.com: