QtQuick Best Practices/es

From Qt Wiki
Revision as of 14:27, 24 February 2015 by Maintenance script (talk | contribs)
Jump to navigation Jump to search


Este artículo cubre que no hacer o que no es aconsejable (malas prácticas), cuando se desarrolla con Qt Quick es. Los temas están comentados por desarrolladores que han cometido o visto estos errores comunes durante su trabajo. Por favor, añade tus recomendaciones y ayuda a que la página crezca.

Malas prácticas con Qt Quick

Tamaños y posiciones fijas

Como el código Qt Quick puede ejecutarse en dispositivos con resoluciones variadas, es importante permitir que tu aplicación escale arriba o abajo. Incluso si tienes fijo una determinada resolución para la plataforma (p.e. 640x360 en Symbian), dispositivos futuros pueden ser publicados con resoluciones diferentes o podrías acabar necesitando soportar una plataforma diferente. Diciendo esto, muchas aplicaciones puede que no sean apropiadas para escalar a un escritorio completo o escalar hacia un dispositivo móvil.

Otro ejemplo de tener tamaños dinámicos es que puedes decidir después cambiar su tamaño a través de una función, o de otra manera, las posiciones y tamaños de tu disposición cambiarán dinámicamente tambén. Este ejemplo debajo demuestra ese problema.

Cuando se centra un elemento:

<br />Item {<br /> width: 200; height: 200 //<— El elemento más exterior escala al tamaño de la ventana de QMLviewer<br /> Rectangle {<br /> x: 50; y: 50 //<— No!<br /> width: 100; height: 100 //<— No!<br /> color: "red"<br /> // Después decides añadir una animación<br /> Behavior on width { NumberAnimation { duration: 500 } }<br /> MouseArea {<br /> anchors.fill: parent<br /> onPressed: parent.width = 150;<br /> }<br /> }<br />}<br />


El ejemplo anterior no estará centrado al ser clicado. Si fijas "x" a 25, la animación no funcionará correctamente

En este caso deberías usar en su lugar:
anchors.centerIn: parent
en la línea 4, y así será capaz de identificar el centro por ti, y evita problemas cuando se cambie el ancho o alto en el futuro

Qt Quick maneja el código multiplataforma por ti, y depende de ti si tu código es multiresolución

Ver también
* Qt_Quick_Best_Practices es