aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/extras/QtCore.ClassInfo.rst
blob: 75445e1fcfbef8c32ca0d9b04149dc240dbba88f (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
.. currentmodule:: PySide6.QtCore
.. py:decorator:: ClassInfo

This decorator is used to associate extra information to the class, which is available
using ``QObject.metaObject()``. This information is used by the
*Qt D-Bus* and *Qt Qml* modules.

The extra information takes the form of a dictionary with key and value in a literal string.

The recommended usage is to provide the key/value using python keyword syntax, where the
keyword becomes the key, and the provided string becomes the value.

If the key needs to contain special characters (spaces, commas, '::', start with a number, etc),
it is also possible to pass a python dictionary with arbitrary strings for both the key and
value and enabling special characters in the key.

.. note:: This decorator is a implementation of the Q_CLASSINFO macro.


Example
-------

.. code-block:: python

    # Recommended syntax
    @ClassInfo(Author='PySide Team', URL='http://www.pyside.org')
    class MyObject(QObject):
        ...


    # Provided to support keys not supported by Python's keyword syntax
    @ClassInfo({'Some key text $': 'This syntax supports special characters in keys'})
    class MyObject(QObject):
        ...