A slot is a narrow opening. It is usually located between the circles of the offensive zone and the goaltender’s goal line. The low slot is near the area in front of the goaltender, while the high slot is in the center of the ice above the face-off circles.
Slots are used in a wide variety of applications. They can be defined as virtual, but are often called by a component in order to receive a signal. This is a much slower method of receiving signals than calling a receiver directly.
Slots can be defined to provide access to a public or private function. To define a slot as a virtual object, you can either use the slot macro or the signal-slot connection.
When using a signal-slot connection, you can use a function pointer. This allows the compiler to check that the function works on your system.
For signal-slot connections, you must call the function with at least two arguments. You must also call the function with a signature that has at least as many arguments as the SLOT() signature.
The first part of the process is to connect the signal to the slot. To connect a signal to a slot, you must call the QObject::connect() function.
The second part of the process is to emit a signal. Emitting a signal requires overhead to find the connection object, and to marshall the parameters that are required to connect the signal. Using a slot to emit a signal is about ten times slower than calling a receiver directly.