이 페이지에서

플레이스홀더 데이터 불러오기

Qt Quick 디자이너는 뷰, 모델 및 델리게이트를 지원하므로, Grid View, List View 또는 Path View 컴포넌트를 추가하면 ListModel 와 델리게이트 컴포넌트가 자동으로 추가됩니다.

그러나 애플리케이션의 컨텍스트가 누락되어 문제가 발생하기도 합니다. C++로 정의된 특정 모델이 가장 대표적인 사례입니다. 종종 컨텍스트에서 C++나 다른 컴포넌트 파일에 정의된 간단한 속성이 누락되기도 합니다. 대표적인 예로, parent.width 와 같이 부모 컴포넌트의 속성을 사용하는 컴포넌트가 있습니다.

더미 모델 사용

2D 뷰에서 C++ 모델을 참조하는 파일을 열면 그 안에 아무것도 표시되지 않습니다. 인터넷에서 모델의 데이터를 가져오는 경우, 해당 데이터를 제어할 수 없습니다. 신뢰할 수 있는 데이터를 얻으려면 더미 데이터를 사용하십시오.

예를 들어, 다음 코드 스니펫은 C++ 모델을 지정하는 ` ListView `를 포함하는 ` example.qml ` 파일을 설명합니다:

ListView {
    model: dataModel
    delegate: ContactDelegate {
        name: name
    }
}

프로젝트의 루트 디렉터리에 dummydata라는 디렉터리를 생성하여, 이 디렉터리가 기기에 배포되지 않도록 하십시오. dummydata 디렉터리 내에 model 의 값과 동일한 이름을 가진 파일(.qml)을 생성하십시오:

qml/exampleapp/example.qml
dummydata/dataModel.qml

그런 다음, 더미 데이터가 포함된 ` dataModel.qml ` 파일을 생성합니다:

import QtQuick 2.0

ListModel {
     ListElement {
         name: "Ariane"
     }
     ListElement {
         name: "Bella"
     }
     ListElement {
         name: "Corinna"
     }
}

더미 컨텍스트 생성

다음 예제는 일반적인 패턴을 보여줍니다:

Item {
    width: parent.width
    height: parent.height
}

이 방법은 애플리케이션에서는 잘 작동하지만, 2D 뷰에는 크기가 0인 컴포넌트가 표시됩니다. 컨텍스트가 없기 때문에 열린 파일의 상위 컨텍스트가 존재하지 않습니다. 누락된 컨텍스트 문제를 해결하기 위해 더미 컨텍스트 개념이 도입되었습니다. dummydata/context 디렉터리에 애플리케이션과 동일한 이름의 파일(여기서는 example.qml)을 배치하면 상위 컨텍스트를 모의 생성할 수 있습니다:

import QtQuick 2.0
import QmlDesigner 1.0

DummyContextObject {
    parent: Item {
        width: 640
        height: 300
    }
}

관련 항목: ‘ Qt Quick UI 디자인 방법’, Qt Quick UI 디자인’ 및 Qt Quick UI 디자인’을참조하십시오 .

Copyright © The Qt Company Ltd. and other contributors. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.