Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Slots/functions in Qt
tomy last edited by
Hi guys, :)
As you probably know (!) I'm coming from C++ programming. There in classes we would define any function inside public or private or protected fields. Is it the same in Qt? That is should I create a function under E.g., public.private slots? What are they for shortly please?
And can a function have no returning type even void? Like:
calebhalvy last edited by
To get you started, you could read the documentation on signals and slots here.
Some relevant information I think is stated as such:
"Since slots are normal member functions, they follow the normal C++ rules when called directly. However, as slots, they can be invoked by any component, regardless of its access level, via a signal-slot connection. This means that a signal emitted from an instance of an arbitrary class can cause a private slot to be invoked in an instance of an unrelated class."
The detailed info on signals and slots is in the link @calebhalvy posted.
To summarize it shortly: Qt is just a library. It follows all the rules of C++. It doesn't extend the language in any way.
So no, you can't omit the return type from a function. There's no such construct in C++ (well apart from constructor/destructor to be exact).
As for the
slots- these are just macros used by the code generator (moc) to identify some functions as Qt specific, but it still follows all the rules of C++. Macro
slotsexpands to nothing so you can make it public, private or protected. Macro
publicso it doesn't matter what you put before it.
tomy last edited by tomy
But I'm annoyed by some word of you! :-( :-(
You typed C++ by a small letter 'c'! C++ is as great as "any language can be, at its highest level". :D :D
@tomy If these kinds of things annoy you I can't imagine the torture you go through seeing cracks in the pavement every day ;) There. I fixed it.
Made C++ great again! ;)
@kshegunov Aww, now you made me want to change it back.
tomy last edited by
Just kidding, guys. :) :)