Qt 更改属性的默认值(例如异步)

Qt 更改属性的默认值(例如异步),qt,qml,qtquick2,Qt,Qml,Qtquick2,对于许多应用程序,尤其是在低性能机器上,最好设置内置组件,例如加载程序和图像,以异步加载其资源。为此,有两个明显的选择: 设置内置组件的必需属性,即asynchronous:true 使用以下内容创建自定义组件AsyncXXX: AsyncXXX.qml: XXX { asynchronous: true } 其中XXX是加载器或图像 我想知道为什么默认情况下它们没有设置为异步模式 最重要的是,是否有一种方法—环境变量、全局设置—将内置组件的默认行为更改为异步行为,因此避免了定制组件?

对于许多应用程序,尤其是在低性能机器上,最好设置内置组件,例如
加载程序
图像
,以异步加载其资源。为此,有两个明显的选择:

  • 设置内置组件的必需属性,即
    asynchronous:true
  • 使用以下内容创建自定义组件
    AsyncXXX
  • AsyncXXX.qml:

    XXX {
        asynchronous: true
    }
    
    其中XXX是
    加载器
    图像

    我想知道为什么默认情况下它们没有设置为异步模式


    最重要的是,是否有一种方法—环境变量、全局设置—将内置组件的默认行为更改为异步行为,因此避免了定制组件?

    您可以轻松地使用
    异步:true
    创建
    ASLoader
    ASImage
    QML类型,这些类型只是
    装载器
    图像
    ,并在整个项目中使用它们。这将使您不必到处修改它,如果您想覆盖它,您只需在原型中更改它

    我想知道为什么默认情况下它们没有设置为异步模式

    异步总是更复杂,开销也更大,因此如果它不是默认行为,那么它是有意义的。从我所看到的QML代码来看,同步的使用频率比异步的要高得多,因此将异步设为默认值意义不大

    编辑:

    如果将原型绑定到项目范围的属性(例如上下文属性或
    main.qml
    中的属性),则还可以在运行时实现同步和异步行为之间的切换