I tried to use Qt5 but I find it very confusing.
I have good knowledge of c++(I would say between intermediate-expert level) but no knowledge of javascript or QML(only basic HTML)
When I go through the examples and tutorials provided with Qt, I find then more to be reference material or like "what's new" stuff for developers who are already using Qt. It shows me random(non systematic) parts of the vast Qt library.
I am currently more interested in using the Qt widget based apps rather than Qt QML based apps.
So this is what I want to ask.
Is QML the main language and C++ just a supporting language? in other words, is learning QML absolutely essential to use QT?
has using Qt for c++ based apps become a de-facto depreciated thing? Is Qt nowadays only used for QML apps?
What do I need to learn to be able to use Qt?
I have developed a few Qt applications and to this day no knowledge whatsoever about
qml
. It definitely is the new way because it is newer than what you're after but if everything will be done inqml
in Qt 6 or 7 I have no idea.So to answer your questions:
At the moment I don't see any reason why
qml
would be required to develop desktop based applications using Qt. This may be different for mobile but I have no experience so far in thatIn Qt 5 there is to my knowledge no sign of the old way becoming deprecated. Please correct me if I'm wrong
If you already have a good understand of
c++
the main thing you have to learn is the principle of Signals & Slots and the main classes used in desktop applications (QApplication, QMainWindow, QWidget and QObject for instance)Except that I would suggest downloading & installing Qt (including examples) and running a few of those examples. In Qt 4, there was also a program called qtdemo to which I can't find a link in Qt 5, so I don't know if it still exists. If you can get hold of if there are great examples of what you can do.