Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.

Males practiques amb Qt Quick

From Qt Wiki
Revision as of 13:09, 25 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search


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é