Lars Knoll

Qt 5.5 Beta Released

Published Friday May 15th, 2015
60 Comments on Qt 5.5 Beta Released
Posted in Qt, Qt 3D, Releases

It’s my pleasure to announce the release of the Qt 5.5 Beta today.

Since we released Qt 5.4, a lot of effort has been put into fixing bugs reported both by our customers and the community. With this in focus, we went through a couple weeks of dedicated bug fixing here at The Qt Company. During this time, we worked 100% on fixing as many open issues as possible. Although the focus of Qt 5.5 has been on stability and performance, it also has some interesting new features and functionality to offer.

3D and OpenGL Features

While Qt has had OpenGL integration and support for many years, the integration was mainly about low level enablers and classes. With Qt 5.5, we are now adding two new modules, that greatly extend our set of 3D APIs: Qt Canvas 3D and Qt 3D.

The first module that makes using 3D easier in Qt is Qt Canvas3D. The module first appeared as a Technology Preview in Qt 5.4, but is now fully supported in Qt 5.5. It provides a WebGL-like API that can be easily implemented using Qt Quick, which greatly simplifies 3D content integration. WebGL itself is a low level API, but Qt Canvas3D can be used in conjunction with JavaScript frameworks such as three.js making loading and displaying 3D content trivial.

Another major new feature, available as a Technology Preview, is the new Qt 3D module. Qt 3D is a module that existed during Qt 4 times, but was never added to Qt 5…yet. Thanks to our partner KDAB, it has now undergone a major refactoring and is an even better solution than the Qt 4 version.

Qt 3D takes our 3D support a good step upwards making it a lot easier to use and integrate 3D content into Qt applications. The module provides both C++ and QML APIs. For more details what Qt 3D 2.0 brings, you can check Qt 3D documentation and KDAB’s series of blogs. Being a Technology Preview, the module still has some rough edges. Please let us know what you think, so that we can turn Qt 3D into a fully supported part of Qt with Qt 5.6.

Qt Quick and Multimedia related news

A good amount of work has gone into improving the QML engine, which is the basis for Qt Quick. Apart from many bug fixes and performance improvements, it now supports JavaScript typed arrays and a new method to interface with your own value based classes.

Enterprise Controls have been folded into the base Qt Quick Controls and are also made available in the Community version. We also added a TreeView control to complete the set of controls required for building desktop applications.

A lot of work has also been put into Qt Multimedia. On Linux, we now use gstreamer 1.0 as the default backend and lots of bugs have been fixed for the other platforms. The new Video filtering framework is a great new feature that allows the integration of frameworks, such as OpenCL or CUDA with VideoOutput elements.

Qt WebEngine and WebView

Qt WebEngine has been updated to Chromium version 40 and has received new APIs for managing downloading of files, controlling cache and cookies, as well as settings. Support for Qt WebChannel is now built-in and many experimental APIs are now public and fully supported.

The Qt WebView module has some new APIs and now also supports Mac OS X in addition to Android and iOS.

Qt Location

Qt Location is another module that has made its way from Qt 4 to Qt 5 as a Technology Preview. Your feedback on this will be important to make this module an integral part of the Qt 5.6 release. Qt Location adds mapping, geocoding, routing and places support to Qt. In conjunction with the existing Qt Positioning API, it should give you all you need to create location aware applications. Qt Location can make use of different mapping providers, such as Nokia Here, Mapbox and Openstreetmap currently.

Other Improvements

Many other things have been improved with Qt 5.5, you can find description of all the new features on our wiki. For example, we now support more platforms for Bluetooth LE and there is a new SSL backend based on Secure Transport for Mac OS X and iOS.

We have also updated the supported platform and compiler configurations. On Linux we are now supporting RedHat Enterprise Linux better than before, and the binaries can also be directly used on RHEL as well as many other Linux distributions. For Mac users OS X versions 10.8, 10.9 and 10.10 are supported by Qt 5.5. We are not yet officially supporting Windows 10, as it has not been released, but we have been using the pre-releases in development and will add support to Windows 10 with Qt 5.5.x patch release after it is available.

Deprecated Modules

With all these new features coming, some older ones are being deprecated, namely Qt WebKit, Qt Script, and Qt Declarative (Qt Quick 1). All of these modules are still available with Qt 5.5, but we strongly recommend using their replacements for any new functionality: Qt WebEngine, Qt Quick, and Qt QML, which also provides a fully compliant JavaScript engine. While there are still some smaller feature gaps in a few places between these modules, we believe that the replacements are now better than the deprecated modules. We will of course continue to improve the new modules and will try to fill any remaining feature gaps from the old ones.

You can download the Qt 5.5 Beta from your Qt Account portal or via download.qt.io. Please try them out and report back to us any issues you might find, so that we can make Qt 5.5 as awesome as possible.

Do you like this? Share it
Share on LinkedInGoogle+Share on FacebookTweet about this on Twitter

Posted in Qt, Qt 3D, Releases

60 comments

Fabio says:

Please, for the future version consider to port QtWebEngine to work on Android also since the QtWebView wrapper have too much limits and can not be fully used with the same “power” of Qt internal web engine.
Thank you

Mike Wagner says:

Great job, thank you all for the hard work ! Can’t wait to try it out :-)

Firat Agdas says:

Awesome!

I was wondering one thing though.

“QQuickRenderControl supports threaded rendering.”

Can you make a little explanation? What will gain us… Thank you!

jiangcaiyang says:

In Qt 5.5, threaded render loop are turned default and hence, rendering quick content onto 3D object is supported when QSGThreadedRenderLoop gets used.

Laszlo Agocs Laszlo Agocs says:

In 5.4 QQuickRenderControl had a few issues if you wanted to use it outside the main/gui thread (in order to recreate something similar like the standard threaded render loop of Qt Quick). In 5.5 this is solved, see the rendercontrol example in qtdeclarative. http://code.qt.io/cgit/qt/qtdeclarative.git/tree/examples/quick/rendercontrol

Alan says:

This looks very promising. Thanks for all you guys’ hard work!

Christian Feldbacher (V-Play) says:

Great job! We’re preparing some cool 3D games to show the power of Qt3D.. Now Qt is ready for primetime 3D games, on top of the current 2D game support! *yay*

jiangcaiyang says:

As far as I’m concerned, developing cross-platform 3D games usually involves OpenGL ES 2.0 related API, so when using Qt 3D with these games be care about the profiles you are using.

Patrick says:

Selecting “update components” in the Qt Maintainence tool, but get error: “Network error while downloading ‘https://download.qt-project.org/online/qtsdkrepository/windows_x86/desktop/extras_src/qtwebview/Updates.xml?34362575’ Connection closed.”

@Patrick: Update components is not supposed to work from the beta offline installer, we should have removed that option.

Jim says:

Great! But a one question, since Qt WebKit is deprecated how to print using Qt WebEngine?

Stephen Chu says:

Same question here. Until rendering a page/frame onto a QPainter is supporter, I can’t see how you can replace QtWebKit with QtWebEngine.

Kevin says:

Does this mean Qt 5.5 won’t work on 10.7, or it just won’t be supported anymore?

ThatDude says:

Does anyone know if new Qt Web Engine API for managing settings includes support for command line settings (like setting a proxy) or it is usable only for internal web engine settings (like enable/disable plugins, loading images …etc.)

bin yuan says:

How could I load a .obj file through qt3d ?
It seems that the file does not exist in qt3d.
Thank you~~

bin yuan says:

I mean the QGLSceneNode

Sean Harmer says:

See the Mesh element.

Dyami Caliri says:

I have the same question as Kevin. Will Qt 5.5 still run on OS X 10.7?

I’m really confused about what The Qt Company expects commercial developers to do to as far supporting an application across multiple versions of an OS.

Every Qt update has bugs that are not fixed until a next major update. But then that update drops support for a previous version of the OS.

So if we want the bug fixes in Qt 5.5, we have to lose customers who are on OS X 10.6.8 (dropped in 5.4) and now 10.7?

Or do we keep running 5.3/5.4, and manually patch it with whatever fixes are most necessary?

This is a real question, not a rhetorical one. OS X 10.6/10.7 are about 20% of our Mac sales. We were prepared to drop 10.6 support, but not 10.7.

Will Stokes says:

I’m in the same position. Long time (over ten years) customer with a number of 10.7 users out there. We semi recently bit the bullet and switched from Qt4.8 to Qt5.4 but that has introduced some instability and we had to ditch 10.6 support. We’re really not interested in ditching 10.7 so soon. I suspect we’ll end up getting behind again and using Qt5.4.2 or something for while and manually back porting patches for bugs we’ve noticed ourselves. The story suggests there are a boat load of bug fixes in 5.5 but I doubt we’ll ever have the time/ability to back port all of them to a 5.4.2 branch. :-(

@Will: We understand very well the need for supporting older OS versions, but since there also is high request to support latest versions, we have prioritised OS X 10.10, 10.9 and 10.8 for the CI and QA systems of Qt 5.5. We would like to keep all supported versions throughout the lifetime of a Qt release, and to the extent feasible also support important new versions. In case of OS X and Qt 5.5.x that may mean 10.11 in addition to the 3 other OS X versions already supported.

Dyami Caliri says:

@Tuukka There is a difference between de-prioritizing an older OS, and removing support for it altogether. It’s not critical to me if an older OS is included in CI, but I would still expect Qt to be able to run on it, and accept bugfixes if there are problems.

With Qt 5.4, code that allowed OSX 10.6.8 to function was removed throughout the codebase. So it simply wasn’t an option to continue to use it.

With Qt 5.5, will it continue to work on OSX 10.7? Or have you taken the same approach as Qt 5.4 + 10.6, removing any runtime checks that allowed the code to function in 10.7?

Will Stokes says:

Dyami hit the nail on the head. Prior to switching to Qt5 we were using Qt4.8 and supported 10.5. While 10.5 was not in CI it still worked just fine and we happily still supported it. I have been struggling for months to get a more concrete answer as to if Qt5.5 will run at all on 10.7. Without compiling against the 10.7 SDK (which would turn of 10.10 style functionality like the modern method for full screen support) using Qt5.5 on 10.7 would be like playing Russian Roulette. At any time, depending on which code path your code takes your application could crash. This is unfortunate. It gives customers like myself two options (stick with Qt5.4.* or ditch 10.7 support and switch to Qt5.5 when it comes out). That’s unfortunately since it may be possible to switch to Qt5.5 AND support 10.7, we just don’t know if that is the case or not.

MihailNaydenov says:

I am also worried about possible drop of support for OSX 10.7!

Thing is 10.7 was a major update, although not stated publicly by Apple – many important fundamental APIs like high-precision multy-touch and libc++ were introduced. Many users, which normally do not update have this as a minimum now, because many developers target this as a minimum!

Please make sure Qt runs fine under 10.7 for at least 2 more years! Thanks.

Ludek Vodicka says:

Hi,

I would like to ask about dropping QtScript support.

We’re using it in our app (QScriptable, QScriptEngine) to allow our customers to update/extend functionality via JScript.

What will be a recommended migration procedure for that? Do you have any articles about how to replace QScript with QML/QtQuick in order to achieve similar functionality?

Arthur Turrini says:

Your answer relies on QJSEngine as a replace for QScriptEngine.

Check it out:

http://doc.qt.io/qt-5/qtjavascript.html

Malek Khlif says:

This is great worrrrrrrrrrrrrk :DDDD i love Qt <3

Tonka says:

hey,

Is Qt WebEngine availabe under LGPLv2 or is it an LGPLv3 only?

@Tonka: Qt WebEngine is licensed LGPLv3/Commercial with 3rd party LGPLv21 components.

David Reeves says:

Lars,

I enjoyed chatting with you last week in Houston Texas last week. Great job with Qt.

Thanks,

David Reeves

Mobile says:

What about native android material / ios qt quick controls?

Marco Piccolino says:

Well done guys!
As to QtLocation, it would be great to have support for offline map tiles in the next release: https://bugreports.qt.io/browse/QTBUG-45732

Ville says:

I was going to ask about why declarative_qmlwebsockets can not be found when using websocket in qml the same way as in examples, but it seems you have changed something with namespaces and/or directories.

http://doc.qt.io/qt-5/qtwebsockets-qmlwebsocketserver-qml-qmlwebsocketserver-main-qml.html
It says: “import Qt.WebSockets 1.0” but it does not work. But what does work is:
“import QtWebSockets 1.0”.

And that is also the directory in Qt-5.5 installation under qml directory.

GStreamer 1.0 feature seems to work great. Thanks for that. And of course everything else.

Ville says:

I made an issue about it. Perhaps it now gets some attention:

https://bugreports.qt.io/browse/QTBUG-46205

@Ville: Thanks. It is always best to make a bug report of the found issue. That helps others to see that item has already been identified, to add more info that helps in fixing, etc.

Ville says:

Yeah. But sometimes when I suspect a bug, it actually is not, and somebody knows how to deal with it. And I don’t want to flood the bugreport system with false reports. So typically I just ask first if somebody knows something about it and what are their experiences about it.

This time it seems to be an actual P1 bug =)

Steve says:

I tried to run the installation file
qt-opensource-windows-x86-mingw492-5.5.0-beta

But on windows XP and on Win 7, nothing happens… Both, from explorer and command prompt. And both, as administrator and not.

What can I do to check whats wrong?

Kai Koehne says:

That’s strange. Try to launch the installer from the command line with “–verbose” argument to see what’s going on.

Nick says:

I’m curious: is Qt WebEngine Mac app store compliant?

Thanks,
Nick

JKSH says:

No. Apple does not allow 3rd-party web engines.

Alex says:

It’s been almost half a year since I’ve reported this bug with P2 priority, and it looks like I’ll have to wait another half year before it’s fixed. It is critical for my Mac application :(

https://bugreports.qt.io/browse/QTBUG-43299?filter=-2

I don’t understand why is there always something broken in Qt for Mac. I’ve been using Qt 5 for quite a while on Windows, but on Mac I still must stick to 4.8.6. There hasn’t been a single Qt 5 version since 5.0 (and up to 5.5 now) in which my application didn’t expose a critical bug.

Danny says:

You’re not alone. I’ve raised multiple bugs since 5.0 was released, many P2 regressions which continue to impact our product on Mac which have yet to be fixed like:

https://bugreports.qt.io/browse/QTBUG-33959

or:

https://bugreports.qt.io/browse/QTBUG-33825

You just have to work around these issues by using native code.

Or stick with Qt 4.8.x.

Tim says:

Good work. I’m surprised there is still no ability to make custom QtQuick controls that draw text though. Seems like a fundamental feature.

Alex says:

https://bugreports.qt.io/browse/QTBUG-43299

Critical Mac OS X bug. Still not fixed in over 5 months.

@Alex: The bug you linked is prioritized P2 (important), not P1 (critical). It also has only 2 votes and does not seem to have the label as being requested by commercial licensees. While we do also fix P2 and even P3 bugs, it would be more likely to get fixed if it is prioritized higher, requested to be fixed by (preferably multiple) commercial license holders and voted a lot.

Alex says:

@Tuukka: Yes, I understand, and that’s part of the problem: it’s critical to my application!
Bottom line – Qt Community users can start looking for a new GUI framework? Thanks for at least saying that [almost] directly.

@Alex: I do fully understand that a bug that prevents you from proceeding is the most critical one for you. We all know the feeling. I was merely pointing out that in order to have a bug fixed it helps if it is of high priority (in the bug reporting system), requested by commercial licensee(s) and affecting many users (votes).

Alex says:

P. S. The issue has 5 votes, not 2. How many votes would it take to get it fixed?

Flamaros says:

It will be nice to have alpha, beta, rc,… in the online updater. This help us a lot to test pre-versions and doing bug reports.

kang says:

I just found bug , build failed under d3d11 mingw, native window.h should include mingw d3d11.h, d3dcompiler.h and the friends, just to make sure that adding simple ifdef.. And Qt3d tesselation example didint show up anythng on intel graphcs card and finally crash on close

Kai Koehne Kai Koehne says:

Could you create a bug report, including exactly which mingw toolchain you are using?

We’ve been testing/packaging with mingw-builds dwarf/i686-4.9.2-release-posix-dwarf-rt_v3-rev1.7z

fonzi337 says:

I’m curious regarding the QML engine. Blog post mentions: “a new method to interface with your own value based classes”

Could you elaborate/link to documentation? This could be very useful, as this has at times made interfacing between C++ and QML quite painful in the past.

Reza says:

I’m really excited to release this version, the most exciting thing is including Qt Enterprise Controls in Qt Quick Controls for community version,

Dave says:

HI Lars,
I have downloaded the 5.5 beta largely because I wanted to finally get my hands on qt3D. However, I cannot seem to get the examples to work with the exampleresource library. I’m getting linker errors no matter what I try. I’m running on windows 7.
Do you have any ideas on where I can get some info to rectify the problem?

m][sko says:

Are there any reason why we don’t have x86 build of qt for windows 8.1
And we have only x64 bit version?

tom says:

Windows: Not possible to install without administrator rights ( Previous versions did not need that, user account was sufficient )

Why is this necessary?

I want to have clean system for other user account ( to test etc. )

@tom: If the machine has restricted user access control rights, you may need to install with elevated rights.

Kai Koehne Kai Koehne says:

This might be because Qt Creator is now built with MSVC 2013, and requires the appropriate runtime to be installed. The installer checks for that, and asks for elevated rights if it’s missing.

You should be able to install without elevated rights if the target directory can be created, and the MSVC 2013 runtime is already pre-installed.

maziar navahan says:

Have any script debugger av. for QJSEngine ?

i think answer is NO

then i think all tools for QJSEngine must create before old script removed ….

also binding tools not available for QJSEngine

@maziar: It is not removed, but deprecated. So you can continue to use it with your existing use case just as before with Qt 5.5.

Maziar navahan says:

But “deprecated” http://en.wikipedia.org/wiki/Deprecation

this mean we have not currenttly “REAL” replacement for scripting outside qml

and how must avoid use and dont update when :

1. QJSEngine document is not complete & have many “Dark-side”

2.It have many limitation in link script & native code (from code or document)

3.not any known debugger & tools binding with c++ to now.

Then i compilmentry don’t agree with Deprecation without av. complete tools & migration guide

this do create some question about QT roadmap & Lifetime Support Policy

Commenting closed.

Get started today with Qt Download now