I’m assuming you are already able to program and at least had a look at C++.
For example I won’t explain why
int main(int argc, char *argv) is in the C++ source code.
If you create a "Qt Console Application" you will have the following code:
The one thing that confuses the most people in the beginning is the Signal & Slot mechanism of Qt. But it’s actually not that difficult to understand. In general Signals & Slots are used to loosely connect classes. Illustrated by the keyword
emit, Signals are used to broadcast a message to all connected Slots. If no Slots are connected, the message "is lost in the wild". So a connection between Signals & Slots is like a TCP/IP connection with a few exceptions, but this metaphor will help you to get the principle. A Signal is an outgoing port and a Slot is an input only port and a Signal can be connected to multiple Slots.
If you come from plain vanilla C++, you only know the C++ Standard Library with its containers like
std::vector. If you know how to use them, you can accomplish your tasks pretty fast. But if you’re coming from an other language, the naming might be a bit odd. The Qt containers offer both, C++ style and Java style naming of methods. So coming from an other language the Qt ones might be easier to use.