Learning Qt - Minimum C++ level required
-
Hello,
I'm trying a first foray into the Qt's world.
What is the minimum level of C++ to be able to study and use Qt properly?
Thank you for your answers.
@Frenchy
I could imagine a training or lecture where C++ and Qt are basically taught together, from scratch. For self-lerning, I imagine it would be harder, because most resources on Qt will expect you to know your basic C++.There's also the question whether you know concepts such as object-oriented programming from other languages.
-
Hello,
I'm trying a first foray into the Qt's world.
What is the minimum level of C++ to be able to study and use Qt properly?
Thank you for your answers.
@Frenchy
I don't know how you hope people to "quantify" what the "minimum level of C++" is to use Qt. I would say it requires a fair knowledge --- including classes and inheritance --- to get anywhere. Certainly a lot more than the "Hello World" basic examples for C++.I would say one thing. If you have not got into C++ yet, have you considered that Qt provides bindings (PySide2/6) so that you can use Python instead of C++? A lot of "beginners" feel that Python is an "easier" language than C++. Up to you.
-
@Asperamanca and @JonB
Thanks for your answers.I have a "basic" level of C++ (pointers, classes, inheritance, STL, etc.), having also programmed with Java.
What surprised me when looking at Qt's codes was its specific vocabulary compared to C++.
So I start with the books I received.
-
If you want to learn c++ there are lots of courses online, I would recommend The Cherno (free on youtube) or if you want to spend a little money pick the most liked course on udemy. If you are new to programming in general I would thoroughly recommend you start with python so you can learn the basics. Qt is so well documented that with a relatively basic notion of c++ and programming you can make simple guis. For reference, I'm a programming n00b and I managed to make this small program, so depends on your goals. Try it out if you start with small goals you'll surely improve.
-
I agree with @JonB regarding the elusiveness of describing just how much C++ one needs, but I'd venture that if one completed this tutorial, he'd be well equipped to use most of Qt's features.
@mzimmers
You may well be right. Though I thought I'd take a look and it has a whole special chapter after it had covered all of C++ devoted to Add Two Numbersint x = 5; int y = 6; int sum = x + y; cout << sum;
I'm thinking you're going to want more than that to do Qt :) Have to say I've never much liked www.w3schools.com, and I don't get how they always come top of searches? @TheGrandSinnovia seems to have done well above.
-
@mzimmers
You may well be right. Though I thought I'd take a look and it has a whole special chapter after it had covered all of C++ devoted to Add Two Numbersint x = 5; int y = 6; int sum = x + y; cout << sum;
I'm thinking you're going to want more than that to do Qt :) Have to say I've never much liked www.w3schools.com, and I don't get how they always come top of searches? @TheGrandSinnovia seems to have done well above.
@JonB the W3Schools modules aren't known for brevity, but in the case of the C++ module, it does (eventually) cover the C++ features you identified above.
Over the years I've used W3Schools tutorials for a wide variety of topics, and have invariable found them worthwhile. Just my two coppers...
EDIT:
Regarding why they show up at the top of searches...can't venture a guess. I do know that they were one of the first to implement the "live code/tryout" feature, which can be very handy for learning markup/markdown type languages.
-
@JonB the W3Schools modules aren't known for brevity, but in the case of the C++ module, it does (eventually) cover the C++ features you identified above.
Over the years I've used W3Schools tutorials for a wide variety of topics, and have invariable found them worthwhile. Just my two coppers...
EDIT:
Regarding why they show up at the top of searches...can't venture a guess. I do know that they were one of the first to implement the "live code/tryout" feature, which can be very handy for learning markup/markdown type languages.