Na ovoj stranici

Učitaj podatke za popunjavanje

Qt Quick Designer podržava prikaze, modele i delegate, tako da se kada dodate komponentu Grid View, List View ili Path View, automatski dodaju i ListModel i delegat komponente.

Međutim, nedostajući kontekst aplikacije predstavlja izazov. Specifični modeli definirani u C++-u najuočljiviji su slučaj. Često nedostaju jednostavna svojstva koja su definirana u C++-u ili u drugim datotekama komponenti. Tipičan primjer je komponenta koja koristi svojstva svoje nadređene komponente, kao što je parent.width.

Koristite dummy modele

Ako otvorite datoteku u prikazu 2D koja referencira C++ model, u njoj nećete vidjeti ništa. Ako podatke u modelu preuzimate s interneta, nemate nadzor nad njima. Za dobivanje pouzdanih podataka koristite probne podatke.

Na primjer, sljedeći isječak koda opisuje datoteku example.qml koja sadrži ListView koji pak specificira C++ model:

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

Stvorite direktorij nazvan dummydata u korijenskom direktoriju projekta, tako da se ne raspoređuje na uređaj. U direktoriju dummydata stvorite datoteku (.qml) koja ima isto ime kao vrijednost model:

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

Zatim stvorite datoteku dataModel.qml koja sadrži lažne podatke:

import QtQuick 2.0

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

Stvorite dummy kontekst

Sljedeći primjer prikazuje uobičajeni obrazac:

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

Ovo dobro funkcionira za aplikacije, ali prikaz 2D -a prikazuje komponentu nulte veličine. Roditelj za otvorenu datoteku ne postoji jer kontekst nedostaje. Kako bi se zaobišao nedostajući kontekst, uvedena je ideja lažnog konteksta. Ako u direktorij dummydata/context -a postavite datoteku istog naziva kao aplikacija (ovdje example.qml), možete simulirati roditeljski kontekst:

import QtQuick 2.0
import QmlDesigner 1.0

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

Vidi također Kako: dizajnirati Qt Quick sučelja, dizajnQt Quick sučelja i dizajn Qt Quick sučelja.

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.