Question regarding future of QWidget
-
I have read in the forms and the available docs that the developers of Qt have not included the QWidget module in the essentials module of Qt 5 release rather it is included as an add on module.
My first question....
Does Qt Quick 2 with Qml will give the same functionality (or same but better and easy) than what QWidget was giving with C++?Second question...
What will be the future of QWidget is it going to be deprecated somewhere in future Qt 5.x releases?third question...
does deprecation of QWidget will mean that the role of C++ in application programming using Qt is going to be limited in the near future?? -
Someone once said "Predictions are hard, especially if they are about the future". My personal best guesses would be the following: 1. Currently QQ does not have nearly the same completeness and functionality as QWidgets, and given that QWidgets took years to get where they are now one should expect something similar for any other technology. 2. Unlikely, if not impossible. 3. I think it is a safe to assume that the backends of non-toy QML applications will use C++ also in a few years' time.
-
I think it has been stated plenty of times (Lars Knoll's keynotes at the most recent Qt Developer Days come to mind) that QWidget and C++ will continue to be first-class citizens in Qt for a good long time.
There are a number of threads already posted which discuss this topic. A search can probably find them easily enough.
-
Ad 1 - QML
No. Right at the moment Qml/Qt Quick is not ready for the desktop. This will eventually change in the future, but the rich applications that are possible with widgets right now, cannot be rebuilt using Qt Quick only. On mobile platforms things are completely different. Widgets always felt like aliens there and Quick UIs look much better.Ad 2 - Future
Current state of affairs marks QWidgets as done. Meaning they are feature complete and will get some bugfixes, but no further development or additional features. It may change if someone jumps in and takes maintainership of QWidgets and pushes things. We don't know how this will change in the future. It may take the road of Qt3Support in Qt4, which is nowadays, years after its first release, more or less unmaintained and buggy. Looking at the huge codebase using widgets, I hope this will not be the case.Ad 3 - C++
Even if Qml/Qt Quick will be ready for prime time on the desktop, you will always have some backend logic which is much better developed using C++. Even on mobile platforms nowadays, this holds true. There was an impressive talk at 2011 DevDays showin the "Anatomy of a real world application":/videos/watch/anatomy-of-real-world-apps-dissecting-cross-platform-apps-written-using-qt. It shows you where you can draw the line between Qml and C++. -
Thank you Mr Volker your comment and the Anatomy of a real world application was very informative.I got my questions answered.