Qt 5.2 is Here!
The Amazing Cross-Platform Framework
Qt 5.2 is the latest version of Qt, the leading cross-platform application and UI software framework. With Qt 5.2 we are proudly introducing the production-ready versions of Qt ports on Android and iOS completing our Qt Everywhere message: Qt runs on all major desktop, embedded and mobile platforms!
Qt 5.2 lets you develop an application that runs natively on all of the following platforms:
- Desktop: Windows, Mac OS X, Linux/X11, Solaris
- Embedded: Embedded Linux (DirectFB, EGLFS, KMS, and Wayland), Windows Embedded (Compact and Standard), Embedded Android, Green Hills Software INTEGRITY, QNX, Wind River VxWorks
- Mobile: Android, iOS, BlackBerry, Sailfish, WinRT*, Tizen*
*Work in progress, technology previews
See details of platform support from here
Qt 5.2 Highlights
Qt on Android
The Qt for Android port is now fully supported and ready for production use. Qt applications can be run on devices with Android v2.3.3 (API level 10) or higher and deployed easily to Google Play.
The tools have been nicely integrated with Qt Creator 3.0 for a seamless workflow and Qt applications can be developed, built, packaged and deployed all directly from within Qt Creator.
Qt Webkit is not supported on Android and we are working on providing a cross-platform API to integrate web content into mobile apps. If you you would like to incorporate web content into your Qt application, you need to use a native web component. To make interacting with native contents easier, we are providing the Qt Android Extras module with a JNI convenience API.
Learn more about Qt for Android support.
Qt on iOS
Qt Creator 3.0 features experimental support for iOS development. For the most parts, you can use Qt Creator for your development workflow, but for signing and deployment, you will still need to use XCode.
Qt WebKit is also not supported under Qt for iOS and because of App Store policies, it will not be supported either. For now, you need to use the native WebKit in iOS. This can be done by using the native Objective-C libraries, which is possible with the iOS compiler, clang. The same approach can be used to add other platform-specific functionality like in-app purchasing into a Qt application.
Learn more about Qt for iOS support.
Tutorial video for getting started with Qt and Mobile Development
Lots of Improvements for Desktop and for Core Parts of Qt
Qt 5.2 also introduces lots of improvements to our desktop platforms and core parts of Qt. More than 1500 bugs have been fixed since the release of Qt 5.1.1:
- Qt Windows Extras module
- Qt Mac Extras module
- Qt Quick Controls improved for the desktop, and it was made easier to integrate Qt Quick into traditional Qt Widget UI
- A lot of improvements for existing Qt Widgets and a completely new one, QKeySequenceEdit class
- Many fixes to support Mac OS X Mavericks
- Improved timezone and locale support through QTimezone and QCollator classes.
Improvements to Qt Quick and Qt Quick Controls
The rendering engine of Qt Quick, Scene Graph, has been updated to a new one that significantly reduces both CPU and GPU load for many use cases. In addition to new the renderer, the new Animator QML type offers animations that fully run on the rendering thread and won’t block or stutter even if your main thread has some long running calculations to perform.
The Qt Quick Controls have a couple of new Controls and features to offer:
- Switches and Busy Indicators added
- Table view supports movable columns and extended selections
- Deployment has been greatly simplified
Accessibility is now fully supported on all desktop platforms and a basic support for Android is also available. The accessibility APIs are now public so you can implement accessibility for custom widgets.
Qt Creator 3.0
Qt 5.2 ships together with Qt Creator 3.0 and in addition to improved Android support and initial iOS support, it includes:
- Extensions for multiple screens
- Cleanup in the Qt Creator plugin APIs
- Initial support for lldb
Editing a mobile app layout in Qt Quick Designer
Improved Qt Webkit
Qt 5.2 features a fresh and improved version of Qt Webkit, based on a snapshot of webkit.org from July 2013. Some new features include:
- CSS blending
- Web Notifications
- Context menus for HTML5 video
- Canvas Path object
- Page Visibility API
- Threaded garbage collection.
The Positioning API provides location information via QML and C++ APIs. The positioning data can originate from a variety of possible sources like GPS satellite, cell data, Wi-Fi or a text file.
The backend functionality (where the data comes from) is plugin-based and can be extended through the APIs. At this point, Qt Positioning has ready-made working backends for all platforms using the NMEA data (text files) and for Linux there is a GeoClue-based backend available.
Introductory Support for Qt Bluetooth and Qt NFC
The new Qt Bluetooth module allows you to retrieve information about local Bluetooth devices, scan and retrieve information about devices in range, push files to devices and connect to them using RFCOMM. Qt Bluetooth module is currently supported only for Linux (on BlueZ 4.x) and BlackBerry.
The Qt NFC module provides APIs for using the short-range Near Field Communication with other devices and NFC tags. At this point, with Qt 5.2 this module is only supported for BlackBerry.
The support for these modules will be extended to other platforms in future Qt releases.
“Quick Forecast” and "FlyingBus" Applications for mobile
Quick Forecast is a nice-looking weather application that has been written with Qt 5.2 using Qt Quick Controls. It shows an example of a web-connected cross-platform Qt application that is deployed to Google Play and App Store using the same code base. Learn more from the Quick Forecast blog post.
Take to the drivers seat of the Flying Bus! The objective of the game is
to get your bus to traverse obstacles by inflating and popping balloons to
gain and loose altitude. Who needs roads anyway? This game is written entirely in QML