- class QQuickView#
The
QQuickView
类提供了一个用于显示 Qt Quick 用户界面的窗口。 更多信息…概要#
属性#
resizeMode
- 是否应该调整窗口内容的尺寸source
- QML 组件源代码的 URL
方法#
def
__init__()
def
engine()
def
errors()
def
initialSize()
def
resizeMode()
def
rootContext()
def
rootObject()
def
setResizeMode()
def
sizeHint()
def
source()
def
status()
槽#
def
loadFromModule()
def
setContent()
定义
setSource()
信号#
注意
此文档可能包含自动从 C++ 转换为 Python 的代码段。我们始终欢迎对代码段翻译做出贡献。如果您发现翻译有问题,也可以通过在 https:/bugreports.qt.io/projects/PYSIDE 上创建问题报告来通知我们。
详细描述#
警告
本节包含从 C++ 自动转换为 Python 的代码段,可能包含错误。
这是
QQuickWindow
的便利子类,当给定主源文件的 URL 时,将自动加载和显示 QML 场景。或者,您也可以使用 QQmlComponent 实例化自己的对象,并将它们放置在手动设置的QQuickWindow
中。典型用法
if __name__ == "__main__": app = QGuiApplication(argc, argv) view = QQuickView() view.setSource(QUrl.fromLocalFile("myqmlfile.qml")) view.show() sys.exit(app.exec())
要接收与
QQuickView
加载和执行 QML 相关的错误,您可以连接到statusChanged()
信号,并监视Error
。错误通过errors()
可用。QQuickView
还管理视图和根对象的尺寸。默认情况下,resizeMode
是SizeViewToRootObject
,它会将组件加载并调整其大小以匹配视图的大小。或者,resizeMode
可以设置为SizeRootObjectToView
,这使得视图根据根对象的大小自动调整大小。另请参阅
- 类 ResizeMode#
此枚举指定如何调整视图大小。
常量
说明
QQuickView.SizeViewToRootObject
视图根据 QML 中的根项目进行调整大小。
QQuickView.SizeRootObjectToView
视图将自动将根项目的大小调整为视图大小。
- 类 Status#
指定了
QQuickView
的加载状态。常量
说明
QQuickView.Null
此
QQuickView
尚未设置源。QQuickView.Ready
此
QQuickView
已加载并创建了 QML 组件。QQuickView.Loading
此
QQuickView
正在加载网络数据。QQuickView.Error
发生了一个或多个错误。调用
errors()
以检索错误列表。
注意
当使用
from __feature__ import true_property
时可以直接使用属性,否则通过访问器函数。- 属性resizeMode: QQuickView.ResizeMode#
此属性表示视图是否应该调整窗口内容的大小。
如果此属性设置为
SizeViewToRootObject
(默认值),视图将调整大小以适应 QML 中的根项的大小。如果此属性设置为
SizeRootObjectToView
,视图将自动调整根项的大小以适应视图的大小。另请参阅
此属性保存 QML 组件的源 URL。
请确保提供的 URL 是完整和正确的,特别是当从本地文件系统加载文件时,请使用 QUrl::fromLocalFile()。
请注意,即使 URL 与当前值未更改,设置源 URL 也会导致 QML 组件的实例化。
- 访问函数
- 属性status: QQuickView.Status#
组件的当前
status
。- 访问函数
- __init__(engine, parent)#
- 参数:
engine –
QQmlEngine
parent –
QWindow
使用给定的 QML
engine
和parent
构造一个QQuickView
。注意:在这种情况下,
QQuickView
并不拥有给定的engine
对象;销毁引擎的责任在于调用者。如果engine
在视图中之前被删除,status()
将返回Error
。- __init__([parent=None])
- 参数:
parent –
QWindow
使用给定的
parent
构造一个QQuickView
。默认的parent
值是 0。- __init__(source, renderControl)
- 参数:
source –
QUrl
renderControl –
QQuickRenderControl
使用给定的 QML
source
和parent
构造一个QQuickView
。默认的parent
值是nullptr
。- __init__(uri, typeName[, parent=None])
- 参数:
uri – 字符串
typeName – 字符串
parent –
QWindow
使用指定的
uri
和typeName
以及父对象parent
构建一个QQuickView
对象。默认的parent
值是nullptr
。另请参阅
- engine()#
- 返回类型:
返回用于实例化 QML 组件的 QQmlEngine 的指针。
- errors()#
- 返回类型:
. QQmlError 列表
返回在上次编译或创建操作中出现错误列表。当状态不是错误时,返回空列表。
返回根对象的初始大小。
如果
resizeMode
是 QQuickItem::SizeRootObjectToView,则根对象将被调整到视图的大小。initialSize 包含调整大小前的根对象的大小。- loadFromModule(uri, typeName)#
- 参数:
uri – 字符串
typeName – 字符串
加载由
uri
和typeName
标识的 QML 组件。如果组件由 QML 文件支持,则source
将相应设置。对于在C++
中定义的类型,source
为空。如果在此方法被调用之前设置了任何
source
,它将被清除。多次使用相同的
uri
和typeName
调用此方法将导致 QML 组件被重新实例化。另请参阅
setSource
loadFromModule
- resizeMode()#
- 返回类型:
另请参阅
属性
resizeMode
的获取器。- rootContext()#
- 返回类型:
此函数返回上下文层次结构的根。每个 QML 组件都在 QQmlContext 中实例化。QQmlContext 对于将数据传递给 QML 组件是必不可少的。在 QML 中,上下文以分层方式排列,该层次结构由 QQmlEngine 管理的。
- rootObject()#
- 返回类型:
返回视图的根
项目
。- setContent(url, component, item)#
- 参数:
url –
QUrl
component –
QQmlComponent
item –
QObject
- setInitialProperties(initialProperties)#
- 参数:
initialProperties – 键为 QString 类型,值为 QVariant 类型的字典。
警告
本节包含从 C++ 自动转换为 Python 的代码段,可能包含错误。
使用初始属性
initialProperties
设置 QML 组件初始化后调用的setSource()
。view = { QQuickView() } view.setInitialProperties({"x, 100"}, {"width", 50}) view.setSource(QUrl.fromLocalFile("myqmlfile.qml")) view.show()
注意
只能使用此函数来初始化顶级属性。
- setResizeMode(arg__1)#
- 参数:
arg__1 –
ResizeMode
另请参阅
属性
resizeMode
的设置器。将源设置为
url
,加载 QML 组件并实例化它。请确保提供的 URL 是完整和正确的,特别是当从本地文件系统加载文件时,请使用 QUrl::fromLocalFile()。
多次调用此方法并使用相同的 url 将导致 QML 组件被重新实例化。
另请参阅
设置属性
source
的设置器。如果已设置,返回源URL。
另请参阅
属性
sourceᅟ
的获取器。属性
statusᅟ
的获取器。当组件当前的状态发生变化时,发出此信号。
属性
statusᅟ
的通知信号。