Soy nuevo en QML. Según tengo entendido, todos los elementos tienen un ancho y una altura asociados que determinan su tamaño. Si el usuario cambia la resolución de la pantalla, la salida final se ve extraña. ¿Existe alguna manera de controlar dinámicamente el tamaño de los elementos en función de la resolución de la pantalla?Tamaño de elementos en QML
7
A
Respuesta
8
En lugar de usar valores fijos, puede multiplicar height
y width
del elemento raíz por factores que determinan el tamaño de los elementos proporcionalmente al tamaño de los elementos raíz. Además, puede usar QML anchors. Con esto se puede crear interfaces gráficas de usuario completamente escalables:
import QtQuick 1.0
Item {
id: root
// default size, but scalable by user
height: 300; width: 400
Rectangle {
id: leftPanel
anchors {
top: parent.top
left: parent.left
bottom: parent.bottom
}
width: root.width * 0.3
color: "blue"
}
Rectangle {
id: topPanel
anchors {
top: parent.top
left: leftPanel.right
right: parent.right
}
height: root.height * 0.2
color: "green"
}
Rectangle {
id: contentArea
anchors {
top: topPanel.bottom
left: leftPanel.right
right: parent.right
bottom: root.bottom
}
color: "white"
Text {
text: "Hi, I'm scalable!"
anchors.centerIn: parent
font.pixelSize: root.width * 0.05
}
}
}
que no sé una manera de conseguir la resolución de la pantalla con QML pura que está disponible en todos los ambientes.
Para determinar la resolución de pantalla en dispositivos móviles puede usar el QML Screen Element.
En aplicaciones de escritorio puede obtener la resolución de pantalla en C++ (por ejemplo, con QDesktopWidget) y hacer que available in QML.
Cuestiones relacionadas
- 1. Eliminar elementos secundarios de la Cuadrícula QML
- 2. QML: Problema al renderring pantalla QML
- 3. Tamaño del elemento QML definido por anchors.fill: principal
- 4. QML rompecabezas alcance componente
- 5. Alojamiento del widget QOpenGL dentro de QML
- 6. Especificación de fuente para muchos elementos de texto en Qt QML
- 7. QML C++ Child Find
- 8. Qml y imagen borrosa
- 9. guardando la imagen QML
- 10. Representación OpenGL a un elemento QML
- 11. Borrar QML anchor
- 12. ¿Cómo leo contenido de ARCHIVO en QML?
- 13. Recursos para aprender QML?
- 14. análisis XML con QML XmlListModel
- 15. Envoltura de texto Qml (ancho máximo)
- 16. tamaño de letra ggplot para diferentes elementos
- 17. ListView de QML: ¿Cómo deshabilitar el desplazamiento automático cuando se insertan nuevos elementos?
- 18. Qt QML lista desplegable como en HTML
- 19. ¿Es posible hacer QML ListView cíclico?
- 20. Listview Horizontal Vertical dentro Listview en QML
- 21. Cómo capturar una señal en QML?
- 22. QML animaciones propiedad visible cambia
- 23. ¿Cómo se puede crear una animación 'ampliar, bajar' en QML?
- 24. QML: ¿cómo manejar el mouse?
- 25. QML Hiperlink de elemento de texto
- 26. jQuery problema de tamaño en los elementos girados
- 27. Conexión de C++ con QML usando Q_INVOKABLE
- 28. Buscando un analizador para archivos de formato QML
- 29. Asignación de atajos de teclado a componentes QML
- 30. señal de C++ para ranura QML en Qt
Perfecto, gracias. Voy a intentar esto. – Groovy
El [Elemento de pantalla QML] (http://qt-project.org/doc/qt-5/qml-qtquick-window-screen.html) también está disponible en QML 5. – rmoestl