Qt 4.7 is in the works

Published Wednesday October 21st, 2009
27 Comments on Qt 4.7 is in the works
Posted in Programs, Roadmap | Tags: , ,

Hi everyone, and welcome to this new Qt blog on my behalf, too! Most of you have probably noticed that we recently released the Qt 4.6 beta release. As you would imagine, we look forward to the next iteration of the Qt framework with all the anticipation of a child on the night before Christmas. With this in mind, I hope it comes as no surprise then that we’ve also started laying down the initial blueprints for the version that will follow Qt 4.6. In the initial stages of planning, there was as much talk of the content as there was of what to name our new baby when it finally lands.

While logic and reason pointed us to a no-nonsense Qt 4.7 label for the new version, Thiago asked for ‘creative’ suggestions for a new moniker. While Qt Lobster Ultimate service pack 2 and Qt 9450 GTX Extreme Titanium Edition would certainly have caught the eye, they might have detracted from the hard-core augmentations and enhancements that Qt 4.7 will bring to the table. So thanks for the inspirational input, but I think the naming standard stays put guys!

Now under LGPL open source distribution, the next-generation of Qt will have all the trademarks of a more sophisticated platform with some changes representing a fine-tuning of existing functions. While many of Qt 4.7’s new features will be comparatively subtle, it is easy to identify the focal point of the new version’s functionality: it is the finalization of new features for declarative UI programming currently under development as part of the Qt Kinetic project. These developments will provide you as developers, and your graphics designer colleagues, with a new way of making more fluid user interfaces.

Although Qt 4.3 and subsequent versions have added new ports to operating systems including Windows CE, Mac OS X Cocoa, Symbian and Maemo, Qt 4.7 will not port further outward. Instead, development focus will center on “internal excellence” as guiding theme. We’ll spend a lot of quality time with platforms we now support, including evergreens such as Embedded Linux. This approach will not only embrace quality assurance and software integration issues, it will also continue progress already made on performance and memory footprint. Again, all this is good news for you in terms of the way you use Qt in your daily development environment.

With a shared commitment to making Qt 4.7 “blazingly fast” and rock solid, we urge you to contribute, comment, enhance and, if necessary, even complain. The goal is to make Qt 4.7 better for everyone and better for every deployment scenario. The road ahead is fast, cross-platform and tightly integrated – whatever name you give it!

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

Posted in Programs, Roadmap | Tags: , ,


Please, please, please include this technology in 4.7:


The potential for this is *enormous* IMHO.

Aleks says:

Howabout to add libev or libevent event loop instead to depend on glib?

I’am not sure but is it possible to build qt 4.7 & qt-webkit completely without glib / gtk?

I second Rob Caldecott!

Finalizing QWebClient in 4.7 would be very much appreciated.

I’m a senior PHP developer and I have always thought of coding our web applications in C++. However, I would still need to code the interface using XHTML, CSS and JavaScript.

With QWebClient, I’d do all that in Qt 🙂

Igor says:

And it would be great to support communcation with Mysql over QSqlDatabase on mobile platforms, especially Windows Mobile!!!

Andrea says:

I’m missing a QSerialPort class, something like .net 2 has.
Almost every embedded touch screen boards have a rs232/rs485 interface.
So I think that a serial port class would be welcomed.
A project already exist http://code.google.com/p/qextserialport/ and it would be nice to have it in qt4.7 with support for all platforms.

Morten says:

Qt 4.7 is probably a bit to early for QWebClient, but development will continue on labs. (I will probably move it to be a lighthouse-based project.)

Feedback like this is always encouraging 🙂 Any particular features you’d like to see?

Kensai says:

Qt on the cloud sounds fantastic. Even if it won’t be mature by 4.7, you should indeed continue working on it.

By 4.7 I expect full, stable, and quick implementation for all major state-of-the-art OSes, both desktop and mobile. Every two releases you might simply improve what you already have.

Anyway, I would love to see declarative Qt and QtScript even better!

Marcelo E Geyer says:

It would be nice if this version were incorporated into a report generator such as Rave, crystal reports…

Henry Haverinen says:

Thanks for the feedback, everyone!
@Aleks: We actually don’t have a mandatory dependency to glib.
@Igor: We have investigated supporting MySQL on Windows CE but haven’t been successful so far. MySQL themselves don’t list Windows CE among their supported platforms, but if that changes we’re all for it.
@Andrea: we don’t currently have plans for serial port support — but we’re very happy to see other open source projects complement our offering.
@Marcelo: have you considered using KD Chart?

Fale says:

Please, include the vlc backend for phonon

Adam Higerd says:

Are we to expect any signs of QtMultimedia in 4.7? Or will this be 4.8? Qt’s audio support is, to be honest, miserable, and it’s the primary hindrance to me adopting it for everything.

@Aleks: Qt already has a non-glib event loop backend — it always has; the glib one is relatively recent. If you want to try it out, you can export QT_NO_GLIB=1 before launching a Qt-based application (I think you can even get away with putenv()’ing it before constructing QApplication), or you can explicitly instantiate the QEventDispatcherUNIX class (it’s admittedly a private header). If you want to plug in a different event dispatcher, subclassing QAbstractEventDispatcher isn’t that hard. If you make a libev/libevent dispatcher, by all means, share the wealth! 🙂

@Andrea: QextSerialPort isn’t the only solution; there’s also QxtSerialDevice, which at least on UNIX platforms tends to work better. (QxtSerialDevice is still in need of a Windows implementation.)

@Adam, three years later is probably too late but here’s a libevent based event dispatcher for Qt. Feedback/bug reports are welcome 🙂

What about extending the support of Qt Win64 to be able to work with MinGW-w64? It is rather irritating that I would have to go and download a >1GB image and then install 2.5-4GB for Visual Studio just to compile Qt for Win64. I like being able to use Qt Creator or Code::Blocks IDE for my work, thank you very much!

Igor says:

Henry Haverinen: regarding Mysql and Windows CE: I think that platforms that are listed as supported on MySql site are only for running it as database server, right? So it is not connected to communicating with MySql using other platforms, like Windows CE? Correct me if I am wrong, but I do not really see what is an issue that prevents you from implementing protocol to communicate with MySql database (not from running it on Windows CE).

Henry Haverinen says:

@Igor: we’re using the client libraries from MySQL for connecting, and we weren’t able to make them work on Windows CE. The C++ connector doesn’t list Windows CE as a supported platform and it requires boost which is not available for Windows CE. The C library source package didn’t work either. This may have changed, so I recorded the task QTBUG-4987 in our task tracker to recheck this. (we’re currently working on getting our task tracker back on line)

Henry Haverinen says:

@Adam: the multimedia team is working at full speed, so stay tuned for new cool audio and video stuff! For Qt 4.7 we’ve decided to focus on the quality and performance aspects, and we try to avoid promising new features. We’ll integrate things as they’re finished.
@Fale: the VLC backend for Phonon exists but you’ll have to get that separately
@King InuYasha: thanks for bringing up MinGW-w64, we’ll have to think about that.

Philippe says:

>> development focus will center on “internal excellence” as guiding theme.
>> (…)
>> shared commitment to making Qt 4.7 “blazingly fast” and rock solid,

Excellent from my point of view.
I just regret that you want to keep binary compatibility, because that would better help you achieving your goals, I guess.


Aleks says:

about glib: I know there is the possibility to use qt without glib I yust thought to add another event lib which uses per plattform the best event methode ;-). Yust an idea.

britel says:

I suggest : this version will incorporat into technologies like a Web Service, WCF,ASP,Cristal Reports,WPF,Silverlight …. and add in QT Creator fonctionalities remaining in Visual Studio 2010 or 2008

Ankur says:

Someone was working on a ORM to be included with Qt. What’s the status on that does it come along with 4.7 or 5.0 ?

Markus says:

how about officially support for genode (http://genode.org/about/road-map) and discontinuing Windows CE support? what was the slogan? dont be evil or what?

Fale says:

would be possible to allow users to use virtuoso through the qt database API?

Henry Haverinen says:

Thanks again for your comments and suggestions! I’ll note these down for our planning work.
@Britel: we’re just starting some new research on SOAP support and code generation from WSDL.
@Ankur: ORM support is not in the planned content for Qt 4.7.

Rudenko Eugene says:

Hello, Qt 4.7 as optimisation of previous versions is great.
But what about supporting of new platforms and making Qt for embedded linux not only for linux? What about excluding windowing system specific code to separate module? I know you started something like this as described at http://labs.trolltech.com/blogs/2009/10/02/introducing-new-port-of-qt-to-your-favourite-platform/
But As I can understand lighthouse only exclude QWS. But it still Linux embedded.
I thinking about it, And now trying to describe it better. I started to write article on my blog to make this problem more clear. When I’ll finish I’ll get you link.

MB says:

Just to add my vote to Rob Caldecott’s comment for QWebclient integration : I use PyQt and I would love to be able to use the same GUI code for the desktop and web versions of my program. Guess I’ll have to wait for some time to get PyQt bindings to QWebclient when (if ?) it becomes a standard part of Qt. Thanks for the great work !

Migizi says:

Will the mingwm10.dll headache be taken care of? My Qt development stopped after (more precisely my Windows Qt development) I kept running into issues with that. I know I can include the dll with each program but I don’t want to repackage it and distribute it.

Henry Haverinen says:

@Rudenko Eugene: Your input will be most welcome! The Lighthouse guys are optimistic about making it easier to port Qt to different platforms, not just embedded Linux – that’s the original raison d’être for the project.
@Migizi: MinGW requires this runtime library to be around, so I don’t think we can get round that issue by doing something in Qt.
@MB, all: we haven’t made any decisions regarding the productization of Morten’s super cool QWebClient research. Thanks for the supportive comments, we’ll continue to research web deployment!

Commenting closed.

Get started today with Qt Download now