blob: c62104369191bd2cc37b2eaa040f400cba850f1c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
.. currentmodule:: PySide6.QtCore
.. _Slot:
Slot
****
Detailed Description
--------------------
PySide6 adopt PyQt's new signal and slot syntax as-is. The PySide6
implementation is functionally compatible with the PyQt one, with the
exceptions listed below.
PyQt's new signal and slot style utilizes method and decorator names
specific to their implementation. These will be generalized according to
the table below:
======= ======================= =============
Module PyQt factory function PySide class
======= ======================= =============
QtCore pyqtSignal Signal
QtCore pyqtSlot Slot
======= ======================= =============
.. class:: PySide6.QtCore.Slot([type1 [, type2...]] [, name="" [, result=None, [tag=""]]])
:param name: str
:param result: type
:param tag: str
``Slot`` takes a list of Python types of the arguments.
The optional named argument ``name`` defines the slot name. If nothing is
passed, the slot name will be the decorated function name.
The optional named argument ``result`` specifies the return type.
The optional named argument ``tag`` specifies a value to be returned
by ``QMetaMethod.tag()``.
.. seealso:: :ref:`signals-and-slots`
Q_INVOKABLE
-----------
There is no equivalent of the Q_INVOKABLE macro of Qt
since PySide6 slots can actually have return values.
If you need to create a invokable method that returns some value,
declare it as a slot, e.g.:
::
class Foo(QObject):
@Slot(float, result=int)
def getFloatReturnInt(self, f):
return int(f)
|