aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/extras/QtCore.ClassInfo.rst
blob: caf5f5df4cb118f6ead786cb59ad92d17e707edb (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
PySide6.QtCore.ClassInfo
========================

.. currentmodule:: PySide6.QtCore
.. py:decorator:: ClassInfo

   This decorator is used to associate extra information to the class, which is available
   using :meth:`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):
           ...