Qt Slot Call Order

Qt uses a command line tool that parses these project files in order to generate 'makefiles', files that are used by compilers to build an application. This tool is called qmake. But, we shouldn't bother too much about qmake, since Qt Creator will do the job for us.

Qt's widgets have many pre-defined slots, but it is common practice to subclass widgets and add your own slots so that you can handle the signals that you are interested in. The signals and slots mechanism is type safe: The signature of a signal must match the signature of the receiving slot. Signals are handled by slots, and so the QDialog will need to have slots for these signals. The slots (or handlers) are named reject and accept in this instance, and since they are default slots provided by Qt, they already exist in QDialog, so we won’t have to do anything (except if we want to override their default behavior). 'emit ' returns immediately and the slot is executed once control goes back to the event loop (or QCoreApplication::processEvents is called) if multiple slots are connected to the same signal, the order of slot execution is the same as the order of connection.

Graphical applications (GUI) are event-driven, unlike console or terminal applications. A users action like clicks a button or selecting an item in a list is called an event.

If an event takes place, each PyQt5 widget can emit a signal. A signal does not execute any action, that is done by a slot.

Related course:
Create GUI Apps with PyQt5

Signals and slot introduction
Consider this example:

The button click (signal) is connected to the action (slot). In this example, the method slot_method will be called if the signal emits.

This principle of connecting slots methods or function to a widget, applies to all widgets,

or we can explicitly define the signal:

Qt Slot Call Ordering

PyQt supports many type of signals, not just clicks.

Qt slot call orders

Example
We can create a method (slot) that is connected to a widget. A slot is any callable function or method.

On running the application, we can click the button to execute the action (slot).

Qt Slot Call Orders

Qt signal slot call order

Qt Signal Slot Call Order

Qt slot call ordering

If you are new to programming Python PyQt, I highly recommend this book.