Is Qt Quick good for developing desktop applications now?
-
Dear all,
We plan to develop a pure windows application. Its main features include multimedia, file management, drawing some lines on the surface of videos and so on. We have knowledge of C++ but lack of JavaScript.
I notice QML provides fancier UI than QWidgets. But it lacks of real world examples for desktop applications. And we may custom some UI components rather than using standard QtQuick.Control components. Is it easy to do that?
I notice a post [https://forum.qt.io/topic/57714/is-qt-quick-ready-for-full-featured-desktop-application](link url)
And an adviser said " it still lacks the distributed knowledge and support systems offered by a truly mature library. Deployment is still under-documented and full of hidden gotchas; there is a lack of non-trivial real-world use case examples. The learning curve on QML-C++ interactions is a slippery one. If you want to do quick prototyping using qmlscene, you have to package your custom components in an extension plugin. Doing fancy stuff like custom window frames is an adventure."It's 2017 Sep now. Could someone give some up-to-date suggestions?
-
I'd argue that QML is dead simple - once you get your head around it. Just like learning anything.
Also, dead wrong, there's many examples and demonstrations of QML. Just look at all the example projects doing tech demos!
QML is simpler than javascript being a declarative language. There's no required callbacks or timeouts and unless you actually want a timer - if you want something to happen when something else does - QML is your friend.
I'd say checkout:
Signals and Slots: http://doc.qt.io/qt-5/signalsandslots.html and http://doc.qt.io/qt-5/qtqml-cppintegration-interactqmlfromcpp.html
QML States, Transitions and Animations: http://doc.qt.io/qt-5/qtquick-statesanimations-topic.html
Models and Views: http://doc.qt.io/qt-5/qtquick-modelviewsdata-modelview.htmlThere's a ton of example apps: http://doc.qt.io/qtcreator/creator-build-example-application.html
http://doc.qt.io/qt-5/qtexamplesandtutorials.htmlThey have charts which LineSeries can be openGL accelerated if you have heavy refreshing charts etc. These are the out of the box components also, once you can get your head around things it's easy to cut something yourself if you need, but I'd recommend start using theirs until a time you require something more specialized.