aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/extras/QtCore.Signal.rst
blob: c83a76a8396bc597a9238ecc79801a8852c1a085 (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
58
.. currentmodule:: PySide6.QtCore
.. py:class:: Signal

Synopsis
--------

Functions
^^^^^^^^^

+-----------------------------------------------------+
|def :meth:`connect<Signal.connect>` (receiver)       |
+-----------------------------------------------------+
|def :meth:`disconnect<Signal.disconnect>` (receiver) |
+-----------------------------------------------------+
|def :meth:`emit<Signal.disconnect>` (\*args)         |
+-----------------------------------------------------+

Detailed Description
--------------------

The :class:`~.Signal` class provides a way to declare and connect Qt
signals in a pythonic way.

.. class:: PySide6.QtCore.Signal([type1 [, type2...]] [, name="" [, arguments=[]]])

        :param name: str
        :param arguments: list

``Signal`` takes a list of Python types of the arguments.

 It is possible to use the same signal name with different types by
 passing a list of tuples representing the signatures, but this is a legacy
 technique recommended against in new code (see
 :ref:`overloading-signals-and-slots`).

The optional named argument ``name`` defines the signal name. If nothing is
passed, the new signal will have the same name as the variable that it is
being assigned to.

The optional named argument ``arguments`` receives a list of strings
denoting the argument names. This is useful for QML applications which
may refer to the emitted values by name.

.. method:: Signal.connect(receiver[, type=Qt.AutoConnection])

    Create a connection between this signal and a `receiver`, the `receiver`
    can be a Python callable, a :class:`Slot` or a :class:`Signal`.

.. method:: Signal.disconnect(receiver)

    Disconnect this signal from a `receiver`, the `receiver` can be a Python
    callable, a :class:`Slot` or a :class:`Signal`.

.. method:: Signal.emit(*args)

    `args` is the arguments to pass to any connected slots, if any.

.. seealso:: :ref:`signals-and-slots`