2016-11-08 1 views
1

많은 응용 프로그램, 특히 성능이 낮은 컴퓨터의 경우 비동기 적으로 리소스를로드하도록 LoaderImage과 같은 기본 제공 구성 요소를 설치하는 것이 좋습니다. 내장 된 구성 요소의 필수 속성을 설정속성의 기본값 변경 (예 : 비동기)

  1. , 즉 asynchronous: true
  2. 기본적으로이 콘텐츠와 사용자 정의 구성 요소 AsyncXXX 만들기 :

AsyncXXX이 작업을 수행하려면 두 가지 명백한 옵션이 있습니다. QML :

XXX { 
    asynchronous: true 
} 

XXX가 Loader 또는 Image 중 하나입니다.

기본적으로 비동기 모드로 설정되지 않은 이유가 궁금합니다.

가장 중요한 것은 비동기로 기본 제공 구성 요소의 기본 동작을 변경하여 사용자 지정 구성 요소를 피할 수있는 환경 변수, 전역 설정이 있는지 여부입니다.

답변

3

쉽게 asynchronous: true 그냥 LoaderImage이다 ASLoaderASImage QML 유형을 확인하고 프로젝트 전반에 걸쳐 사람들을 사용할 수 있습니다. 이렇게하면 모든 곳에서 수정해야하는 번거 로움을 피할 수 있습니다.이를 재정의하려면 프로토 타입에서 이동하고 변경하십시오.

기본적으로 비동기 모드로 설정되지 않은 이유가 궁금합니다.

비동기는 항상 더 복잡하고 오버 헤드가 많으므로 기본 동작이 아닌 경우 의미가 있습니다. 필자가 본 QML 코드에서 동기식은 비동기식보다 훨씬 더 자주 사용되기 때문에 비동기식 기본값을 만드는 것은 거의 의미가 없습니다.

편집 :

또한 프로젝트 전체 속성에 프로토 타입, 예를 들어 컨텍스트 속성 또는 main.qml의 속성을 결합하면 런타임 중에 동기 및 비동기 행동 사이를 전환 달성 할 수있다.