pyside6-metaobjectdump¶
pyside6-metaobjectdump
是一个命令行工具。它扫描 Python 源文件并以 JSON 格式输出要注册到 QML 的类的信息。这作为 pyside6-qmltyperegistrar 工具的输入。
该工具相当于Qt / C++中的moc工具。
它由pyside6-project工具自动运行,当传递qmllint
参数时,指示它检查QML源文件。
用法¶
要在QML中注册的类通过QML装饰器如@QmlElement
来指示。调用:
pyside6-metaobjectdump birthdayparty.py
在标准输出上生成JSON数据:
[
{
"classes": [
{
"className": "BirthdayParty",
"qualifiedClassName": "BirthdayParty",
"object": true,
"superClasses": [
{
"access": "public",
"name": "QObject"
}
],
"classInfos": [
{
"name": "QML.Element",
"value": "auto"
}
],
"properties": [
{
"name": "host",
"type": "Person",
"index": 0,
"read": "host",
"notify": "host_changed",
"write": "host"
},
{
"name": "guests",
"type": "QQmlListProperty<Person>",
"index": 1
}
],
"signals": [
{
"access": "public",
"name": "host_changed",
"arguments": [],
"returnType": "void"
},
{
"access": "public",
"name": "guests_changed",
"arguments": [],
"returnType": "void"
}
]
}
],
"outputRevision": 68,
"QML_IMPORT_NAME": "People",
"QML_IMPORT_MAJOR_VERSION": 1,
"QML_IMPORT_MINOR_VERSION": 0,
"QT_MODULES": [
"QtCore",
"QtQml"
],
"inputFile": ".../examples/qml/tutorials/extending-qml-advanced/advanced1-Base-project/birthdayparty.py"
}
]