Males practiques amb Qt Quick: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 11: Line 11:
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:
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 /><code><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 /></code><br />L'exemple de dalt no estarà centrat en ser clicat. Si fixes &quot;x&amp;quot; a 25, l'animació no funcionarà correctament
Quan es centra un element:
<code>
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;
}
}
}
</code>
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:<br /><code>anchors.centerIn: parent<code><br />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.
En aquest cas, s'hauria de fer servir:
<code>anchors.centerIn: parent<code>
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ó.
Qt Quick s'encarrega del codi multiplataforma per tu, però és feina teva assegurar-te que el codi es multiressolució.


=== Veure també<br />* [[Qt_Quick_Best_Practices]] ===
=== Veure també
* [[Qt_Quick_Best_Practices]] ===

Revision as of 13:09, 25 February 2015


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é