Učitaj podatke za popunjavanje
Qt Quick Alat Designer podržava prikaze, modele i delegate, tako da se, kada dodate komponentu Grid View, List View ili Path View, automatski dodaju i komponente ListModel i delegate.
Međutim, nedostajući kontekst aplikacije predstavlja izazov. Specifični modeli definirani u C++-u su najočitiji slučaj. Često kontekstu 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 preuzimate podatke u modelu s interneta, nemate nikakvu kontrolu 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 } }
U korijenskom direktoriju projekta stvorite direktorij nazvan dummydata, kako se on ne bi raspakirao na uređaj. U direktoriju dummydata stvorite datoteku (.qml) koja ima isto ime kao vrijednost atributa 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 lažni 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 nedostatak konteksta, uvedena je ideja lažnog konteksta. Ako smjestite datoteku s istim imenom kao aplikacija (ovdje example.qml) u direktorij dummydata/context, 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 korisničke sučelje, dizajnQt Quick korisničkog sučelja i Dizajniranje Qt Quick korisničkih 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.