Qt 更改属性的默认值(例如异步)
对于许多应用程序,尤其是在低性能机器上,最好设置内置组件,例如Qt 更改属性的默认值(例如异步),qt,qml,qtquick2,Qt,Qml,Qtquick2,对于许多应用程序,尤其是在低性能机器上,最好设置内置组件,例如加载程序和图像,以异步加载其资源。为此,有两个明显的选择: 设置内置组件的必需属性,即asynchronous:true 使用以下内容创建自定义组件AsyncXXX: AsyncXXX.qml: XXX { asynchronous: true } 其中XXX是加载器或图像 我想知道为什么默认情况下它们没有设置为异步模式 最重要的是,是否有一种方法—环境变量、全局设置—将内置组件的默认行为更改为异步行为,因此避免了定制组件?
加载程序
和图像
,以异步加载其资源。为此,有两个明显的选择:
asynchronous:true
AsyncXXX
:XXX {
asynchronous: true
}
其中XXX是加载器
或图像
我想知道为什么默认情况下它们没有设置为异步模式
最重要的是,是否有一种方法—环境变量、全局设置—将内置组件的默认行为更改为异步行为,因此避免了定制组件?您可以轻松地使用
异步:true
创建ASLoader
和ASImage
QML类型,这些类型只是装载器
和图像
,并在整个项目中使用它们。这将使您不必到处修改它,如果您想覆盖它,您只需在原型中更改它
我想知道为什么默认情况下它们没有设置为异步模式
异步总是更复杂,开销也更大,因此如果它不是默认行为,那么它是有意义的。从我所看到的QML代码来看,同步的使用频率比异步的要高得多,因此将异步设为默认值意义不大
编辑:
如果将原型绑定到项目范围的属性(例如上下文属性或main.qml
中的属性),则还可以在运行时实现同步和异步行为之间的切换