aboutsummaryrefslogtreecommitdiffstats
path: root/sources/pyside6/doc/extras/QtQml.QmlUncreatable.rst
blob: 72fde741dbdf27ab9165778247968c5434f67d66 (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
.. currentmodule:: PySide6.QtQml
.. _QmlUncreatable:

QmlUncreatable
**************

.. py:decorator:: QmlUncreatable

Declares that the decorated type shall not be creatable from QML. This takes
effect if the type is available in QML, by a preceding ``QmlElement``
decorator. The reason will be emitted as error message if an attempt to create
the type from QML is detected.

Some QML types are implicitly uncreatable, in particular types exposed with
``QmlAnonymous``.

Passing None or no argument will cause a standard message to be used instead.

.. code-block:: python

    QML_IMPORT_NAME = "com.library.name"
    QML_IMPORT_MAJOR_VERSION = 1
    QML_IMPORT_MINOR_VERSION = 0 # Optional


    @QmlElement
    @QmlUncreatable("BaseClassForQml is an abstract base class")
    class BaseClassForQml(QObject):
        # ...

.. note:: The order of the decorators matters; ``QmlUncreatable`` needs to be preceded by ``QmlElement``.