Males practiques amb Qt Quick

From Qt Wiki
Jump to navigation Jump to search
This article may require cleanup to meet the Qt Wiki's quality standards. Reason: Auto-imported from ExpressionEngine.
Please improve this article if you can. Remove the {{cleanup}} tag and add this page to Updated pages list after it's clean.

Aquest article cobreix que no fer o que no és aconsellable, mentre es desenvolupa amb Qt Quick. Els temes mencionats estan coberts per desenvolupadors que han comés o vist aquestes errades durant la seva feina. Si us plau, afegeix les teves recomanacions i ajuda a fer crèixer la pàgina.

Males pràctiques amb Qt Quick

Mides fixes i posicions

Com el codi Qt Quick pot còrrer en dispositius de moltes resolucions, és important permetre que una aplicació escali amunt i avall. Fins i tot si estàs lligat a la resolució d'una plataforma (640x360 per Symbian), futurs dispositius poden ser publicats amb una resolució diferent, o pot ser acabes necessitant suportar una plataforma diferent. Dient això, moltes aplicacions pot ser no podran escalar a un escritori, o a un dispositiu mòbil.

Altre benefici de tenir diferents mides dinàmiques és que pots decidir després canviar la mida, les posicions o la disposició de forma dinàmica també. Els exemples abaix demostren el problema:

Quan es centra un element:

Item {
 width: 200; height: 200 //<— L'element més exterior escala a la mida de la finestra del QMLViewer
 Rectangle {
 x: 50; y: 50 //<— NO
 width: 100; height: 100 //<— NO
 color: "red"
 // Després decideixes afegir una animació
 Behavior on width { NumberAnimation { duration: 500 } }
 MouseArea {
 anchors.fill: parent
 onPressed: parent.width = 150;
 }
 }
}

L'exemple de dalt no estarà centrat en ser clicat. Si fixes "x" a 25, l'animació no funcionarà correctament

En aquest cas, s'hauria de fer servir: anchors.centerIn: parent a la línia 4, així serà possible identificar el centre per tu, i evita dolor quan es canvia l'ample o l'alçada en el futur.

Qt Quick s'encarrega del codi multiplataforma per tu, però és feina teva assegurar-te que el codi es multiressolució.

=== Veure també