Males practiques amb Qt Quick

From Qt Wiki
Revision as of 07:24, 24 February 2015 by Maintenance script (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
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:

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


L'exemple de dalt no estarà centrat en ser clicat. Si fixes "x&quot; 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é
* Qt_Quick_Best_Practices