QtQuick Best Practices/es

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.

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:

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

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