Qt 5.1 Released

Published Wednesday July 3rd, 2013 | by

I’m very happy to announce that Qt 5.1 is now available. It has taken us a little more than 6 months since we released Qt 5.0 end of last year. While we originally planned that Qt 5.1 will mainly focus on bug fixing and stability of Qt 5.0, we have actually achieved a lot more. The release contains a large amount of new functionality in addition to numerous smaller improvements and bug fixes. For more information, please have a look at our Qt 5.1 launch page.

Qt 5.1 comes bundled with a freshly released Qt Creator 2.7.2. They are available through a new online installer, that allows for automatic and seamless upgrades in the future. A new version of the Visual Studio Add-in is also available.

We have added many new modules that largely extend the functionality offered in 5.0. The new Qt Quick Controls and Qt Quick Layouts modules finally offer ‘widgets’ for Qt Quick. They contain a set of fully functional controls and layout items that greatly simplify the creation of Qt Quick based user interfaces.

Qt Sensors that many already know from the Qt Mobility efforts in Qt 4 has now been added to Qt 5.1 supporting Android, Blackberry and iOS. A new Qt Serialport add-on allows controlling serial connections on Linux, Mac and Windows.

Qt for Android & iOS Technology Previews

Qt 5.1 also greatly extends Qt outreach to different platforms and operating systems. First of all, Qt now supports Visual Studio 2012, and offers the option to choose between ANGLE and desktop OpenGL on Windows.

In addition to that our work to bring Qt to mobile operating systems is showing great results. Even though Qt for Android and Qt for iOS are not yet final, and are marked as technology previews in this release, they are already very usable for a large number of use cases.

Qt for Android supports all Qt modules that are part of 5.1 with the exception of Qt Serialport, Qt WebKit and parts of Qt Multimedia. Qt for Android also comes with a great integration into Qt Creator that allows you to do almost all your development until the point where you want to upload the application to Google Play.

Qt for iOS also already supports the same Qt modules as Android does, with the exception of Qt Quick 2. This is due to limitations in iOS that make it impossible to use V8 as the JavaScript engine on this operating system. We will provide full Qt Quick support on iOS with Qt 5.2.

You can install some demo applications that show Qt on iOS and Android from the App Store and Google Play. For Android we have a new Qt Everywhere demo as well as the Qt 5 launch demo available in Google Play. The blog post about Google Play contains more details about publishing Qt applications in Google Play. For iOS, we have Sub Attack, a small Qt based game and Qt Quicksand published in the app store.

As with any release also this one contains a few issues that we know about and probably some more we haven’t yet found. All of these will be collected on the Known Issues page in our wiki.

Finally, I hope that you all will enjoy Qt 5.1. I personally believe that this release is a great milestone for Qt. Qt is now a cross platform toolkit that also spans the major mobile operating systems in addition to the desktop platforms and many embedded OSes.

A lot of hard work has gone into making this release happen, and I’d like to thank everybody who contributed in one way or another to it. Following tradition, here are some pictures of many (but far from all) of the people that helped create Qt 5.1.

 

Download Qt 5.1

To evaluate the Qt Enterprise commercial version, please go here. You can also download the open source version from here.

Contributors
Berlin
Finland
Oulu
Oslo

Did you like this? Share it:

Posted in Announcements, News, Qt, Qt Project

89 comments to Qt 5.1 Released

Mark says:

Lars, Qt and everyone that made this release possible. Thank you all very much for making such an awesome Qt release! On the QML side It really pushes it forward in usability on the desktop and i obviously can’t wait to start playing with this. On the C++ site there are some nice new things as well. Great framework :)

Awesome job!

danny says:

Congratulations!

The inclusion of the QtQuick desktop components in the official release has finally made Quick relevant to me.

Are there any planes for a real QML tree view component? That’s still a show-stopper.

charley says:

@danny, we’ve re-tooled to where a “ListModel” of items is an attribute of an item, recursively. That works. IMHO, it’s better than a tree-view, and we’re not intending on using tree views in the future. It may require re-thinking of the user interface, but IMHO it’s a better approach because QML allows for higher data-densities and dynamic interfaces when you get away from “layouts” to use “transitions”. YMMV.

danny says:

We *need* real tree views in desktop applications. Think property trees, control panels, hierarchical media browsers.

Think of QtCreators own project tree!

If you fake it with a ‘outline’ style container, it will stick out as non-native. It will look like a mobile app ported to the desktop and most users will hate it.

I appreciate that the old QAbstractItemModel/QModelIndex interface was unwieldy with a steep learning curve but it did work and we need *something*.

Without trees, I can’t imaging QML being used for serious application interfaces.

Sonu Lohani says:

Thank you degia team. This is the best work till date by you, as you have provided the Qt for android setup. I really appreciate the quality of work you ve done in the past, and all the best for the future. This would going to be the best gui and non gui framework. God bless you all.

smoggy says:

Amazing work on the android port.
Now a request would it be possible to make available some demo code on how to use cmake to code for and deploy on android.
Thanks right away.

J says:

Yes, CMake support in QtCreator for deploying to Android, iOS, and BlackBerry would really be really great.

Esdras says:

Hi! I’d like to know more about the development process for Android using Qt, but in “The blog post about Google Play contains more details about publishing Qt applications in Google Play”, the link is wrong. :)

Lars Knoll says:

Just fixed the link. Thanks for notifying us.

UniversE says:

Congrats!

I’ve waited for a long time. Thank you all!

[…] 5.1 of the Qt toolkit has been announced. “We have added many new modules that largely extend the functionality offered in 5.0. The […]

Robin Lobel says:

Congratulation guys ! I’ve followed closely the jira and dev mails, it was not an easy release !
I can definitely see great improvements over Qt 5.0.2 both in features and stability.
I ported SpectraLayers from Qt 4.8 to Qt 5.1 for version 2 and I don’t regret it :)

Rob says:

Great release, but my third party framework headers can’t be located anymore on mac so i can’t use 5.1

Tor Arne Vestbø says:

See:

https://bugreports.qt-project.org/browse/QTBUG-31552?focusedCommentId=205820&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-205820

Rob says:

Thank you! Don’t know if you can read about it anywhere else, didn’t see it, but if you do changes like that why don’t you add it into some kind of documentation when you release?

Tor Arne Vestbø says:

Updated the known issues wiki for 5.1

M.S. Babaei says:

Good job! Looking forward for 5.2. :)

Albert says:

Thanks! I’m going to trying it out immediatly!

Rui says:

Great work guys!

Ian Monroe says:

And I just upgraded my build server to rc1 this week. Gah! :D

Johannes Nixdorf says:

I think the part “little more then 6 months” in the second sentence should actually be “little more than 6 months”.

max says:

What is the real difference between all packages?
Qt 5.1 for Android ,is it only for Android plateform ?

Lilian says:

Well, now can’t wait for Qt 5.2 release…

[…] шести месяцев разработки компания Digia представила релиз кроссплатформенного фреймворка Qt 5.1, […]

Eugene says:

Мда… лучший С++ фрэймворк конвертируется в QML, хотел бы я видеть такой список фич для С++ части фрэйворка.

[…] More details on the Qt 5.1 release can be found at Digia blog […]

[…] von Qt 5.0 ist eine neue Version des C++-Frameworks zum Entwickeln von Benutzeroberflächen erschienen. Qt 5.1 ist kein kleines Update mit Schwerpunkt nur auf Verbesserungen und Performance, wie […]

Donald says:

Hot damn :)

@smoggy @j: I assume you want to see cmake support in Creator since you have existing cmake based projects. I thought this had been constructively addressed in past blog posts, and I personally hope that the Creator dudes have focused more on having plugable SDK’s so that one single Creator instance could be used to deploy to any of the known targets, and readily extended to include arbitrary embedded targets. There should not be a “deployment” engineer on embedded targets; QML + good tooling could have set top box UI designers laying joy eggs a little chunkier than a Great Danes head.

@qtdudes: Good to see your mugs; very good to see deployed demo apps which serve to drive the point home.

[…] ogłosiła wydanie Qt 5.1, zestawu przenośnych bibliotek i narzędzi programistycznych dedykowanych językowi C++. Ich […]

Anton says:

The Installation crash on Win7 Pro 64 bit

Just downloaded:
http://download.qt-project.org/official_releases/qt/5.1/5.1.0/qt-windows-opensource-5.1.0-mingw48_opengl-x86-offline.exe

And tried to install it.

The Installation fails with the error:

Error installing the component qt.510.win32_mingw28.addons:
Could not find the needed QmakeOutputInstallerKey(qt.510.win32_mingw48_qmakeoutput) value on the installer object.
The ConsumeOutput operation on the valid qmake needs to be called first.

The sha-256 checksum is OK.

Anton

Jani Heikkinen says:

I tried that same installer and installation went OK. I have win7 64 bit machine as well. If you can reproduce the issue could you create Jira issue about it and attach both installation log & verbose log there as well

Tim Jenßen says:

Can you create a bugreport with an attached verbose log?

starting the installer with -v shows it, or if the installation finished after ignoring the errors you will find a InstallationLog.txt inside the install dir.

Anton says:

Hi sorry,

could not reproduce it.

I did some tests
one with installdir D:\Programme\Qt5.1.0
the other with install dir D:\Programme\Qt5.1.0\

I thought that the missing “\” at the end was the problem.

During my tests I got the error one time again at the beginning, but I did more tests to try to find out the reason … and now the error does not come anymore.

Anton

[…] La lista completa de cambios está disponible en el anuncio oficial. […]

anonymous says:

Qt5 totally ignores my fontconfig and qtconfig doesn’t build. Sorry, but Qt5 is unusable for me :(

Jens Bache-Wiig says:

Are you sure you built with the correct dependencies? Please check that your config.summary contains
“FontConfig: yes”. If not you are probably missing a development package.

anonymous says:


Support enabled for:
Accessibility .......... yes
ALSA ................... yes
CUPS ................... no
FontConfig ............. yes
Iconv .................. yes
ICU .................... no

Chris says:

thanks a lot
is there gonna be a mingw-64 bit build?

Jani Heikkinen says:

At the moment we don’t have plans to add new reference installer.

kboite says:

Has Digia some plans to support language bindings ? (currently, only PyQt 5 seems in a good shape but still doesnt support QtQuick 2…)

Is the Qt Nacl port abandonned ?

Some true multi-linguism and ubiquity would make this awesome toolkit quite perfect.

AC says:

Why “Multi-linguism” when we already have the one true (declarative) language?

AC says:

Obviously wrap parent in a [sarcasm] tag

[…] 文章来源:Qt Blog,Qt Project […]

Serge says:

This is so awesome!!! Thanks a lot, folks!

But why there’s no VS2010 x64 OpenGL compiled distributive??

Jani Heikkinen says:

Unfortunately it isn’t possible to offer all possible build combinations as a reference installer. We are trying to offer most used ones.

Chris Sparks says:

Is it just me or is the ARM compiler (the only I am interested in now) not available anywhere so that I can out this new Qt version? I understand it isn’t finished yet but I still want to play with it and cannot because no kits are installed to support Android in either Windows or Linux

Daniel Teske says:

You need to install the android sdk and android ndk, see the documentation.

7 says:

The compilers for ARM are in the NDK. Once you install and set its path in creator, it can automatically generate kits if you select the checkbox.

[…] mas información en la web oficial de Digia, actuales responsables del proyecto Qt. Por supuesto las librerías Qt […]

[…] new Qt 5.1 has (partial) support for iOS as mentioned in the release announcement, but how do I actually build and deploy a Qt project to a iOS device? Or in other words, how do I […]

Scorp1us says:

What is the status of Qt 3D? I am particularly interested on Andoid and iOS platforms. It isn’t in the modules list.

Qt4iOS says:

As it currently stands (git master version from yesterday), Qt3D needs some patches to even build on iOS (don’t know about Android). It appears to be out of sync with the QML2 API, as most examples/demos have errors in them which stop them from working at all. It’s possible to use the C++ Qt3D APIs at least, so the status is “partially working” (on iOS), once it’s patched (all libraries/plugins need to be built as static).

Shobhit says:

Congrats Qt team, updated and just trying out!

Adrian Gabureanu says:

I too appreciate the progress that has been made with Qt on Android and iOS, but there is one extremely important thing that is missing.

There are no plugins to handle in-app purchases on Google Play, nor on the iOS AppStore. I can’t imagine Qt 5.2 without these. I sure hope work will be put in to make such plugins available in Qt 5.2 Alpha in September. This is something that one way or another has to make its way in Qt 5.2.

Should I even mention this article to point out how important this is? http://techcrunch.com/2013/03/28/in-app-purchase-revenue-hits-record-high-accounts-for-76-of-u-s-iphone-app-revenue-90-in-asian-markets/

On BlackBerry there is such code to handle in-app purchases for Qt/QML: https://github.com/blackberry/Cascades-Samples/tree/master/paymentservice . I have used it in several BlackBerry 10 games, and with great success may I add. More than 75% of all my revenue on BlackBerry 10 comes from in-app purchases.

Another example is V-Play’s Store plugin for Android and iOS: http://v-play.net/doc/daily/plugins1-store.html .

q says:

Agreed.

Purchase API is needed.

+ Location API in Qt Sensors.

For the mobile abilities.

Fabio says:

I do not know if there is in the past version but I really appreciate the new moc option -b.

In conjunction with the QMAKE_MOC_OPTIONS qmake variables I’m able to put in the generate source files an #include directive that put some pragma to selectively disable annoying compilation warning coming from the autogenerated moc sources.

MIND that moc’s included documentation is not
updated and does not mention this option!

Is there something similar for the resource compiler RCC?
I’ve always some compiler warnings from the auto generated resource file: qrc_Resources.cpp

I do not want to turn off warnings when i compile my own sources…

Thank you for the new releases!

Wellu Mäkinen says:

Guys, check where the following debug prints come during installation:


wellu@phobos:~$ Downloads/qt-linux-opensource-1.4.0-x86_64-online.run
Warning: This should not happen!

Warning: This should not happen!

Warning: This should not happen!

Warning: This should not happen!

Funny as it seems that the installer is nagging that the installation itself should not happen. Anyway, Qt Creator is my IDE of choice when it comes to C/C++/Qt. For everything else there is Sublime Text.

Strahlex says:

How can the Qt for iOS Technical Preview be used? I cannot find any options to install in the SDK installer also iOS is not even mentioned in QtCreator.

@Strahlex: You need to build yourself from the source, and deploy with Xcode. See documentation for instructions. This is an area we aim to improve in subsequent releases.

Alexey says:

How can the Qt for Android and Qt be used in MacOS ?

Eskil Abrahamsen Blomfeldt says:

At the moment, you have to build Qt yourself in order to develop on a Mac. We hope to have binary packages in the future.

For now, please check out this wiki for some more information about building Qt for Android:

http://qt-project.org/wiki/Qt5ForAndroid

gonboy says:

NVIDIA GeForce GT 420M support > OpenGL 4.
It couldn’t run QtQuick 2(it’s only support OpenGL 2.0 ? ).
why?

JKSH says:

Hi,

Post a question in the forum (http://qt-project.org/forums/ ) and someone will try to help you

Markus Franke says:

Awesome release!!!

Can’t wait to get my hands on it but the download is still quite slow probably due to the mirrors.

Patrick says:

Somehow any text rendering seems to be broken in the Qt everywhere app on my Galaxy Note II with CM 10.1. See http://p173.de/s/2013-07-07-17-54-22.png .

Strahlex says:

Some suggestions for Android:
– Add an option for downloading and updating the SDK, NDK and ant with the maintenance tool
– Add a button somewhere to switch between deployment Ministro or packaging the Qt libraries
– Add a button to switch between Simulator and native device, often it does not recognize the native device automatically
– Add an option for wireless deployment and debugging

Strahlex says:

Also add an button somewhere to regenerate the Android build files. If you switch from an project previously built with necessitas it does not work anymore because wrong paths in the build files.

Eskil Abrahamsen Blomfeldt says:

The option to switch between different deployment options is there, but the UI is not very easy to understand without the documentation at the moment. This is fixed in Qt Creator 2.8, but for now, please look at the following documentation:

http://qt-project.org/doc/qtcreator-2.7/creator-deploying-android.html#deploying-application-packages

Strahlex says:

Yes this a bit irritating as this option was for deploying Qt libraries to the debug device in previous versions of Qt for Android but thank you very much this is what I searched for.

Qt4iOS says:

There are pre-built Qt for iOS SDKs for Qt 4.8.5/5.0.2/5.10 available from the Mediator Software website (as well as source code). These SDKs contain additional functionality and bug fixes (for iOS) that are not present in the official releases (yet).

Qt4iOS says:

The Qt 5.0.2 & 5.1.0 SDKs contain working QML2 implementations (for non-jailbroken devices) based on V8. The implementations can be used for testing QML2 applications on iOS devices, but require the application to be launched from Xcode. QML2 apps for the App Store will require V4.

Stephen Cheng says:

I am very dissappointed to see that the html form controls are still rendered as if they are disabled using the default windows vista style on Windows platform in QT 5.1. This major bug makes QtWebkit basically unusable for any production purpose since web form controls are everywhere. I’ve reported the bug at https://bugreports.qt-project.org/browse/QTBUG-31376 . However, nobody is paying any attention. What I have to say is: stop adding new features and fix all the bugs.

Simon says:

Well, it turned out that this particular was fixed upstream and the backport will be in Qt 5.1.1 :)

Fabio says:

One suggestion to all: on win64 (but win32 i think is the same) and the last version for ant and java SDK, just unistall all installe jre and do not install the jre bundled with the Java SDK as well…I lose morne than half a day searching why ant give error in qtcreator claiming wrong JAVA_HOME environment variable value.

Now my simple QWidget program is deployed to the simulator with the option to include local qt lib in the .apk (default choice) but won’t start and no informative debug output is given.

Guess the button in the project property -> run, “read information from the application” to resolve dependency (and I hit this button after compilation secceded) does not work very well…now trying to deploy with the option “deploy local Qt Library” and if not work I’ll try with ministro.

With the old Necessitas, ministro was the only method that worked for me (and I already see this project successfully running in the simulator) .

Probably I’m not enough smart…but all that stuff still
seems “glued with glue” to me.

Please slow down with feature and make things already here to work more flawlessly (or work, at least). ;-)

Fabio says:

…ok…not working… :(
Where I can download ministro for Qt5.1.0?

Strahlex says:

The settings are a bit confusing:
– Use Qt libraries from device – means deploy Qt libraries with package
– Deploy local Qt libraries and Use local Qt libraries – means use Qt libraries on device, if Use local Qt libraries is not selected it means use Ministro
And the last option is for deploying Ministro to the simulator

Eskil Abrahamsen Blomfeldt says:

These are indeed a bit confusing at the moment. But just FYI: If you upgrade to the Qt Creator 2.8 RC you should already get a more intuitive UI for the deployment options.

Fabio: To debug your failed deployment, you could try running “adb logcat” in a shell while launching the app to see if there is any relevant output. We are working hard on improving the error reporting in Qt Creator when deploying Android apps, but at the moment there are a few error cases which will be hidden as generic errors, so this log may be very valuable.

Fabio says:

Now it worked, Don’t know what was wrong before.
I’ll take good note of your suggestions for future troubles. Thank you!

Fabio says:

Thank you, now i managed to create an apk bundled with all qt dependency and I run it in the simulator and on a real (arm) Android device. :-)

For me, the simulator is so slow that is unusable! I installed Intel HAXM:

http://software.intel.com/en-us/articles/speeding-up-the-android-emulator-on-intel-architecture

and think goes way better but are always slow (I’m on a Dell Precision T1500 with 4G of RAM)

In particular, after deploying to simulator and launch the application, gdb give an error saying that is was detached from progream execution.
For now I’ve not try to debug form a physical device (i only installed the apk on it) but with the simulator I’m not able to debug. :(

My application now run correctly but, as a QtWidget based application for desktop, there are some element of the interface to be adjusted for the Android platform but the chain:
modify code – compile – deploy – run on simulator – reproduce problem is really too slow.

I noticed that on android, when some dialog are opened and closed, the underling windows is not always redrawn. On win linux and MacOsx it is.
I do not know if this can be a Qt for Android bug but i’ll try to put some “show” on the parents windows of some dialog.

Another fact I noticed is that when my application start, the QActions are shown in the toolbar of the window as well as in the option menu that is opened from the bottom Android bar but…after open and close some dialog, QAction disappear from the Android menu. The rest seems ok, excluding the size of various dialog, but it was obviously expected. :)

Fabio says:

Ah! And how to have informatin about the OS type at runtime?
I’ve found the macro:
Q_OS_*

But I do not find no one that is Android specific.

Eskil Abrahamsen Blomfeldt says:

Q_OS_ANDROID is the compile-time macro, and to get the platform at run-time, use either QGuiApplication::platformName() in C++ or Qt.platform.os in QML.

As for the bugs you are finding: Could you please register them along with examples to reproduce them in http://bugreports.qt-project.org under the “QtPorts: Android” component? That way we can track them and fix them. Thanks :)

Fabio says:

Uhmmm…after some test it seems that there are serious refresh problem (at laeast with QWidget) to refresh application interface on Android.

Sometimes, when some new dialog is opened, the gui does not update.
But is only It’s look, the dialog is opened, because clicking (touching) on it have the expected effect over the not showed dialog.

Is a refresh problem, in fact, if you minimize and maximize the application using the classic Android buttons, it refresh to the correct look.

This is really weird…I try to add some
->show();
but it does not work.

I underline that I reproduce the problem on an arm physical Android device as well as in an atom X86 simulator.

Is there someone, who have a QtWidget based GUI and have the same problem?

How it could be fixed?

Fabio says:

I posted a question on the embedded/mobile forum as well:
http://qt-project.org/forums/viewthread/29854/

Strahlex says:

ant clean debug is always used in Qt Creator even in release mode. Please look at Qt for MeeGo it would make development for Android so much easier if it would work like this. Also it would be great if there would be a separate Kit for deploying to the Android simulator and running on an Adroid device because it is really annoying that the simulator starts when the Android device is not detected. A simple message Android device not connected would safe a lot of time.

Mamma mia says:

Is there any way to create Library for an application using Qt iOS… If i want to port my applicvation to iOS i need to create a library first for that app..

Strky says:

Thanks for article. I have question about support of ODBC or OCI driver on android devices. Are you considering add this support in future. When approximetaly? Because now is working only QSQLITE driver on android devices.

Commenting closed.