Qt 5.2 Released | The Best Qt Yet

Published Thursday December 12th, 2013 | by

We’re proud to announce that Qt 5.2 is now available. With the release of Qt 5.1 in July, we showcased the Qt for Android and iOS ports and laid down the beginning of some heavy improvements we have now done on Qt’s graphics capabilities. In the last 6 months, we’ve worked very hard to finalize this release and especially these ports.

Qt on Mobile Is Here with Great Opportunities

I am proud to say that Qt 5.2 fully brings Qt into the mobile space as a true player in the app development market supporting Android, iOS, BlackBerry, Sailfish/Jolla and Ubuntu Mobile. With this, Qt is the native cross-platform development framework with the broadest support of operating systems in the mobile space, complementing our even wider support of operating systems for desktop and embedded development. Qt 5.2 makes it very easy to take your existing desktop or embedded applications and bring it to mobile phones or tablets.

To show our commitment to being fully cross-platform also on mobile, we have an additional small christmas present for you. I am excited to announce that we now also have a Technology Preview of Qt for WinRT available. The preview is based on our development branch, and thus contains already a few of the new features to be found in Qt 5.3.

Qt on Android and iOS

Most of the Qt APIs are supported with Qt 5.2 both on Android and iOS. Since these are new platforms there are, however, some exceptions. Qt WebKit is not yet supported on Android, and can’t be brought to iOS due to App Store policies. But we are working on bringing an easy way to embed web content via Qt APIs to these mobile platforms in the future. In the meantime, we recommend the use of native web elements. Qt Bluetooth and Qt NFC are also not yet supported and will get implemented in a subsequent release.

All of our other APIs (including Qt Quick, Qt Sensors and Qt Multimedia) are fully supported on these platforms, allowing the development of a very wide class of applications with Qt APIs only. If something is not yet supported with the Qt APIs you can also always fall back to using some of the platform’s native APIs, where needed. For Android, we provide a convenience API for using the Java Native Interface (JNI) through the new Android Extras module. For more details, you can read the blog post about Implementing In-app purchasing on Android.

Developing Qt applications on mobile can be done fully within the Qt Creator IDE for Android, BlackBerry and Sailfish. On iOS, the Qt Creator support is still experimental.

With Qt 5.2, we are also introducing our Qt Mobile edition , which we announced in October at Qt Developer Days Berlin. Qt Mobile edition is a specially tailored package for mobile app developers that will help you target the fragmented mobile markets with one technology.

Besides new mobile platforms we’ve also continued working hard on the existing platforms. More than 1500 bugs have been fixed since the release of Qt 5.1.1. The desktop platforms have received a lot of focus with multiple improvements all around the libraries and by bringing in platform-specific support through new modules.

Great Improvements for the Desktop

Qt on desktop operating systems is the heart of Qt and has served as a stepping stone for the immense breadth of our operating system support throughout the years. That said a lot of improvements have happened with Qt 5.2 that are mainly targeting the desktop operating systems.

  • We’ve further improved the Qt Quick Controls for the desktop and made it easier to integrate Qt Quick into traditional QWidget-based applications
  • A lot of enhancements and bug fixes went into the Qt Widgets module
  • We added a new QKeySequenceEdit QWidget class making it easier to deal with user configurable key bindings
  • Accessibility is now fully supported on all desktop platforms (and Android)
  • Qt Windows Extras module: Integrate with native code on Windows
  • Qt Mac Extras module: Integrate with native code on Mac OS X
  • Improved time zone and locale support with QTimeZone and QCollator
  • Bluetooth is supported for Linux with Qt Bluetooth module
  • Many fixes to improve support for OS X Mavericks

All of these changes together make Qt 5.2 an excellent basis for your desktop application.

Revamped Qt QML and Qt Quick

A huge amount of things have also changed under the hood. The Qt QML module has gotten a brand new engine, removing our dependency on the V8 JavaScript engine. The new engine is built from the ground up for Qt and with QML as the main use case in mind. It supports an interpreted mode, and can thus run on CPU architectures where JIT would not be available or platforms such as iOS where JIT’ing is not allowed by App Store policies. In earlier Qt versions, the integration with the V8 JavaScript engine was difficult and led to performance issues when crossing the boundary between the Qt and JS code bases. This problem has now been resolved by the new engine, which directly uses Qt data types and can quickly interact with all Qt code.

As a net result of these changes, you should see some performance improvements for most QML use cases. However, as Qt 5.2 is only laying down the foundation, performance when executing lots of program logic in JavaScript will be slower than with Qt 5.1. Qt 5.2.1 will bring quite some additional speed improvements and we have great plans for the engine in Qt 5.3.

A lot has also happened on the Qt Quick side of things. The renderer for the Scene Graph has been completely rewritten delivering much improved rendering performance for applications and freeing up more CPU time for the application itself. In addition, every QQuickView now renders in a thread of its own, ensuring that multiple scenes don’t block each other.

Qt Quick has also gotten support for a new animation type called Animator, which allows you to run many animations fully on the rendering thread. These animations cannot be blocked even if the main thread would be heavily loaded doing some extensive calculations.

Qt Creator 3.0 and Other Goodies

Qt 5.2 ships together with the new Qt Creator 3.0. The new Qt Creator improves support on mobile platforms and improved stability of it’s plugin APIs. This will create a foundation for 3rd party plugin extensions for Qt Creator, something we’re looking forward to expanding more in the future.

A couple of new modules and APIs also made it into Qt 5.2. Most notable are probably the support for positioning with the Qt Positioning module, Bluetooth support for Linux and BlackBerry with the Qt Bluetooth module, NFC support on BlackBerry, support for time zones and Unicode collation and the new Windows, Mac and Android Extras modules.

Qt WebKit has also received a major update now being based on a WebKit version from this summer. This includes many new features such CSS Blending, Geolocation, Web Notifications and a threaded garbage collector.

Qt in Action

We’ve deployed a couple of Qt Quick applications to the mobile marketplaces for you to try out. The “Quick Forecast” is a weather application using a web API and implemented completely with Qt Quick Controls. You can get it for Android from Google Play and for iOS from the App Store.

Learn More about Getting Started with the New Platforms

In the beginning of 2014, we are coming to meet you in person at a few locations around the world with our Qt Mobile Roadshow. The event is a full-day free developer event on how to get started developing cross-platform mobile applications with Qt. The locations and dates can be found here.

We are also organizing a couple of specific webinars around Qt for Android and iOS where you will get hands-on information on how to get started developing:

  • Qt on iOS, Hands-On – Dec 17th 2013
  • Multiscreen Development with Qt | Business Overview – Jan 9th 2014
  • Qt on Android, Hands-On – Jan 16th 2014

Please find the detailed webinar information registration from http://qt.digia.com/webinars.

Download & Try

You can download Qt 5.2 from our download page on http://qt-project.org or try the Qt Enterprise 30-day free trial from http://qt.digia.com. Qt Enterprise customers can access the Qt 5.2 release directly from their customer portal. If you are only targeting mobile, you can also download a 30-day free trial of Qt Mobile from http://qt.digia.com/Try-Buy/Choose-Plan/.

Thanks!

Last but not least, I’d like to thank everybody that has contributed to making Qt 5.2 the best Qt release yet. Many people from the community have worked very hard to make this release happen. I’d especially like to thank KDAB, Bogdan Vatra and the Necessitas project for their significant efforts and contribution to Qt 5.2. Also, I would like to extend a warm thank you to the KDE community that has contributed many interesting and valuable features, and our release team that did a lot of hard work behind the scenes pulling everything together into a releasable package.

We hope you enjoy Qt 5.2 as much as we enjoyed making it. Happy holidays!

Did you like this? Share it:

Posted in Android, Announcements, cross-platform, desktop, Embedded, iOS, Mobile, Qt, Uncategorized

73 comments to Qt 5.2 Released | The Best Qt Yet

Robin Lobel says:

Congrats, I’ve been using it since beta on a big application and it’s a tremendous improvement in features and stability over Qt 5.0 and Qt 5.1 !

Sylv says:

Well done! Thanks for this release. Now, let’s wait for Qt 5.3 to have an official integration of Qt3D !
Another thing: please don’t drop Windows XP.
Thanks again!

Robin Lobel says:

@Sylv Even Microsoft drop Windows XP support, I’m not sure it’s a priority to keep developping for this platform…

edsch says:

maybe, but XP remains an important platform for businesses.

No way we can drop XP support right now.

Sylv says:

Microsoft drop Windows XP but not industry. It’s a lot easier to update a software than an OS (which often means hardware). In a perfect world we could drop Windows XP easily but unfortunately we aren’t in this world.

DiA says:

I would be great to see Qt3D on 5.3!

Vincent says:

Why not release developer days 2013 video to celebrate Qt 5.2 release?

chezgi says:

is there any plan for integrating Qt3D in feature version?

Sean Harmer says:

Yes we’re working hard on Qt3D right now. The plan is to release this with Qt 5.3.

Federico says:

Is there any public git repository? Following the api evolution and doing early testing would be very usefull to those who have Qt3D code under development.

ben says:

This seems to be the documentation:
http://doc-snapshot.qt-project.org/qt3d-1.0/

And wiki page:
http://qt-project.org/wiki/Qt3D-Installation

federico says:

It is the documentation regarding last stable version (1.0).
I don’t know if it even supports qt quick 2, in fact I’m compiling from the main Qt repository which hasn’t received any commits recently.

Diego. says:

Congrats for the release!

I’ve tried the Quick Forecast on my old Galaxy Mini, but the text is too tiny (320×240 dislay). Tried to give feedback via “Email developer” on Google Play, but I got an automatic reply saying “digia.ventures1 at digia dot com Invalid Address”. Please tell someone to look at that.

Caroline says:

Thanks for your feedback! I have now fixed the email address, please send your comments to Google.Play@digia.com.

edsch says:

Great!

BUT: Can we please update the VSAdding to support VS2013?

it does already, you just have to update the compatibility flags. I you override the flags, it already works with VS2013, but we are not allowed to do that at work.

Tuukka Turunen says:

@edsch: For Qt 5.2, please use the existing VS Add-In. It has been verified to work. What comes to VS2013 support in VS Add-In it is an item we are planning to look a bit later. VS2013 as such works fine for Qt 5.2. There is no pre-built binary available, so you need to build it yourself.

edsch says:

thanks for the fast reply.

Source fixes for VS2013 support have been available since August, and have been reviewed + merged into master on Dec 5th.

So all the Qt Team really has to do is do a standard release.

You are right, Qt online installer unfortunate doesnt ship a msvc2013 package…which is unfortunate, too. Any reason for that?

Yes, i could probably build it all myself, and i will this evening for private use.

however, at work i wont be allowed to fiddle with self-build addons. Background: I’ve been fighting a long and agonizing battle to move from VS2008 to VS2013, have helped other authors update their addins we are using in my free time … QtVsAddon is the last one. Now i see the code in the repo …. but no binary release….it’s like the last mm that is between me and a proper IDE.

Maurice Kalinowski says:

@edsch

Visual Studio 2013 has been released too close with the Qt 5.2 release cycle, meaning that feature freeze for Qt and VS release were almost the same.
We did add some mkspecs for it and many of us use it on a daily basis. But for claiming it “supported” we need to get the testing, CI, packaging etc done.

That is why we aim to have provide this at a later stage and did not manage to have this within the 5.2.0 cycle.

edsch says:

Ok, i see.

But a separate VS2013 VSAddon release would be nice anyways. Maybe as a beta or RC.

Would VA2013 support justify a quick 5.2.1? Any ideas when we can expect 5.2.1 /VS2013 support?

Vyacheslav says:

Can anyone make any custom build of VS Addon for 2013 ? And send me link to download or public it on forum.

Ismael says:

CHRISTMAS IS HERE!!!

HGH says:

Does anybody else experience a problem with anchors (resizing a rectangle while resizing a window) in OpenGL under Qml example?
I think that must be a bug.

JRB says:

Any chance of releasing a build for Visual C++ 2013? It would be greatly appreciated and make developing for Qt with the latest Visual C++ version much easier.

edsch says:

> More then 1500 bugs

;)

Nura Herrmann says:

Thanks, updated :)

Congrats to this great release from the whole V-Play team!

We are glad having chosen Qt as the underlying framework for the first Qt-powered cross-platform game engine for 2D games, and already look forward to next releases.

Happy Christmas, the present already was given today of you guys :)

And because today is our first anniversary, we also have a present to give away until Christmas ;)

The Android Extras example refers to a NotificationClient.java, but it is not part of the files we can browse at http://qt-project.org/doc/qt-5/qtandroidextras-notification-example.html

Please fix? :D

Eskil Abrahamsen Blomfeldt says:

I made https://bugreports.qt-project.org/browse/QTBUG-35568 for this.

Meanwhile, the Java file can be seen here:

http://tinyurl.com/nlryo5f

Andy says:

Great work!

I’m glad you haven’t forgotten those of us doing only desktop work :-)

Look forward to Qt3D being improved/integrated. Qt 5.3 maybe?

Robert says:

I’d like to congratulate Qt-dev team and community,
and to thank then, especially Eskil and BogDan, for their ability to hear every voice from community.
Good job!

Mike says:

Regarding, “On iOS, the Qt Creator support is still experimental”: can you please clarify this? What lacks from Creator 3.0 for iOS that exists for Android? Thanks.

Eike Ziller says:

It mainly lacks exposure to a larger crowd for testing on a larger number of configurations. Also, QML debugging isn’t supported yet. Note that the Qt 5 installer enables it in Qt Creator if you install Qt for iOS. When you try it out, please make sure to report any issues, so we a have a chance to fix them :)

Peter B. says:

Have a rest for a while, enjoy Christmas, guys!

And now there is a time to clean-up a bugtracker and resolve as much bugs/issues/suggestions as possible (even the lowest priorities). (I have seen unresolved issues from 4.2 still in bugtracker).

Thank you guys! Appreciate it.

Serge says:

Thank you guys, you’re the best!!

Adam says:

This is absolutely excellent, proving once again that Santa exists :)

DavidB says:

Sorry if this is dumb question but does Qt5 support Maria Database. It seems to becoming the defacto install for Linux distributions.

pjoe says:

Congrats on getting 5.2 out, but what is licensing situation on iOS? Can I legally publish an app with the opensource version? Or would that violate lgpl?

Tuukka Turunen says:

@pjoe: It depends on how your application meets LGPL requirements, for example open-source apps are often fine with LGPL and static linking. To know for sure, please ask an experienced legal council. Some basics are explained at http://qt-project.org/legal.html. If you wish to keep your code closed, using Qt Mobile (or Qt Enterprise) is a safe choice.

pjoe says:

Ahh thanks, just noticed the Qt Mobile post. I guess $149 isn’t that bad for being able to publish on iOS :)

pjoe says:

Uhhh just noticed it’s $149/month .. that is actually a bit steep compared to other choices for iOS/android :S

Tuukka Turunen says:

@pjoe: Qt Mobile subscription does include the Qt Cloud Services engin.io Entry plan, so at least if you need a backend it should be quite a good deal :)

Einar says:

Ahhh! To start with QT as a complete beginner is hell. Hell! I’ve been dealing with compiler problems for the last two days. QT Creator just won’t compile my code and I have no idea what to do. Seems like a weird problem for an IDE when compiling is so fundamental in programming.

Jan Faroe says:

The IDE is not compiling anything in itself as such, it’s just calling the existing compilation tools installed on your platform. Perhaps seek help at the Qt Project forums (http://qt-project.org/forums/) with further details.

Vector Moabi says:

Something for Christmas, this is definitely a perfect gift for me! Thank you all who made this possible.

JuhaniR says:

Trying to install it on Oracle Linux 6.5. It installs fine but when I try to launch QtCreator, I get an error:

Failed to load core: /opt/Qt/Tools/QtCreator/lib/qtcreator/plugins/QtProject/libCore.so: Cannot load library /opt/Qt/Tools/QtCreator/lib/qtcreator/plugins/QtProject/libCore.so: (/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.15′ not found (required by /opt/Qt/Tools/QtCreator/lib/qtcreator/plugins/QtProject/../.././libQt5CLucene.so.5))

So enterprise linuxes are out of luck?

Qt Designer launches ok, Qt Linguist launches ok, Qt Assistant fail to launch.

Tuukka Turunen says:

@JuhaniR: Also many other distros than Ubuntu have been verified to run fine. Please file a bug about the issue you are facing or, in case you are Qt Enterprise customer, contact Support via the Customer Portal.

JuhaniR says:

Thanks Tuukka for your reply. The issue is not a new one and if I were to report a bug the ball would be thrown back as “not a Qt bug”. It is about which version of stdc++ was used when compiling the software.

It seems to appear more or less on “conservative” distributions as RHEL and its derivates. As they are LSB-compliant they don’t ship with bleeding edge compilers and libraries.

Still, for an example, Oracle Linux 6.5 is the latest version and released just recently, based on the latest RHEL…it is a bit funny that things do not work out of the box on a platform widely used by professionals.

If there is no true technical reason that prevents using a bit older compiler+libraries, should you use build process that covers the ground most effectively?

Anyway, congratulations on the new release…hopefully the wrinkles will be eventually ironed out and we can enjoy and watch Qt mature even better.

Malek Khlif says:

Greeeeeeeeeeeat Work Qt Team :)))))))))))))))))))))sent

rontinoum says:

Jeah, Congratatulations guys and girls.

Petar says:

Congratulations. Can’t wait to try it out :-)

J says:

Yeah, we really need Qt3D and QtQuick3D as part of the Qt 5.3 release. Is that going to happen, or do we need to keep compiling it separately?

Also, is 5.3 going to get QtWebEngine?

russ says:

Allowing clean integration of Qt Quick and classic QWidgets would be excellent. As a Qt newcomer, having two distinct worlds is frustrating.

The notes say “made it easier to integrate Qt Quick into traditional QWidget-based applications”… what does this mean (and is the inverse true)? I can’t yet see any obvious evidence supporting that statement.

JuhaniR says:

+1

Classic Widget Qt is already tried and tested on desktop, it would really make sense to make Qt Quick use those on desktop instead of re-invemting the wheel.

Joe says:

Bravo! But please cut the fat ICU off…

Googie says:

+1 for getting rid of ICU from QtCore dependencies. I don’t understand why it’s not just a QtWebKit dependency, since the webkit is the only one to use it?

Jan Faroe says:

Nice with Mac Extras finally there (again). But I see no proper documentation? http://qt-project.org/doc/qt-5/qtmacextras-index.html is extremely sparse.

eMixam says:

Great ! Thanks for the hard work !

But as stated above a little clean-up of that bug tracker would be nice.

Also, don’t forget the documentation. Examples aside, it seems quite empty since 5.0 came out…

mitch says:

Report it as a bug under the Documentation component, mentioning which specific classes aren’t well documented.

Ionut Dediu says:

Congrats for the great work.
But I too am going to ask for any info regarding Qt3D. Any roadmap for this module? Last I know 2 guys from KDAB were working on it. Digia, in Qt3D you have the coolest most exciting piece of software out there. You should invest heavily in this.

Happy holidays to all the trolls :)

stereomatching says:

“directly uses Qt data types and can quickly interact with all Qt code.”

Do this mean in Qt5.2 we could pass the data between c++ and qml by reference?

The data between qml and c++ are always copy in my ex experiences.

public slots:
//can’t declare like this
void test(QList &first, QList &second)
{

}

//this one work, after experiment, the data between
//qml and c++ are always copy
void test(QList first, QList second)
{

}

For more details, please study this post–http://qt-project.org/forums/viewthread/28822/

stereomatching says:

Any plan to add platform support of qmake for android and ios?

something like

android_armeabi{
}
android_armeabi_v7a{
}
ios{
}

thelone says:

Hello! It is a great news! i cannot wait to try qt on my android devices, and there is a question: Is it possible to have multiple qt versions installed on one Windows? (and the VS addon?)
Thank you!

mitch says:

Can’t speak for the VS addon, but it’s definitely possible to have more than one Qt version installed on a machine.

Glenn Kroeger says:

While 5.2 is a welcome release, calling it the best Qt ever is a bit of a slap in the face for those of us trying to support high-quality cross platform desktop software on Mac OS X. The litany of things that remain broken since 4.8.5 remains virtually untouched. Delete key tied to QAction, correct cursor behavior when crossing widgets and unified title and toolbars all worked fine in 4.8.5 and all remain broken after multiple releases of 5.x.x. Add to that truly horrendous trackpad behavior on retina MacBook pros and we still cannot ship software based on any Qt 5.x.x release. So amongst all the requests for new features and platforms, how about actually supporting features and platforms that used to work, and are needed by existing developers and clients?

Alan says:

+1000

maxoreli says:

And Qt on Windows Phone , that’s when ?

Tuukka Turunen says:

@maxoreli: There is already a technology preview of Qt for WinRT, which also works for Windows Phone. More details at: http://blog.qt.digia.com/blog/2013/12/12/qt-for-windows-runtime-technology-preview-released/

DavidB says:

I see that MSVS2010 is recommended, but will MSVS2008 work with the required Win 7 SDK installed ?

Feedback for Qt for iOS

Qt for iOS is great, I’ve been using it since the beta for a while, now the problems occures where Qt creator failes in several areas, so here is my feedback:

Automatic iOS device selection:
Qt Creator should automatically select the connected iOS device, instead of me everytime changin the device, same as xCode behaviour

Auto code completion and listing of files under sub-projects does not work at all (I have to change to OSX, write my code, then go back and build for iOS)

Adding iOS Native frameworks:
This does work from the .pro, I would like to see a clickable place to add native frameworks, change app bundle name, orientation settings … etc

Bonus (Compiling from a Windows machine):
I would also love to have the ability to compile using a windows machine, by specifying the IP of my remote Mac OSX, a lot of us like to work under windows including me, so that option should do good for us …

We have almost completed a huge project on…

Leon says:

Congratulations!

Just wondering… is it possible to mix QML widgets with native widgets on iOS (UIView) and Android (View)? And how?

DuskoKoscica says:

Ok this is very good thing, I also think that Qt has potential to become true RAD for C++, we just need to have some standard, and also UML like environment to develop app instead of Wizards, we had in past.
The multythreading need to improve it. as well, because this C++ 11 is not so nice.

Commenting closed.