@QmlUncreatable#

声明所修饰的类型不能从 QML 中创建。如果类型在 QML 中可用且前面的 QmlElement 修饰符存在,这将生效。如果检测到试图从 QML 创建该类型,将作为错误消息发出原因。

某些 QML 类型隐式不可创建,特别是使用 QmlAnonymous 暴露的类型。

传递 None 或无参数将使用标准的消息代替。

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):
    ...

注意

修饰符的顺序很重要;《code class="docutils literal notranslate">QmlUncreatable 需要位于 QmlElement 之后。