Sono nuovo in QML. Come ho capito, tutti gli elementi hanno larghezza e altezza associate che ne determinano le dimensioni. Se l'utente cambia la risoluzione dello schermo, l'output finale sembra strano. Esiste un modo in cui la dimensione degli elementi può essere controllata dinamicamente in base alla risoluzione dello schermo?Dimensione elementi in QML
7
A
risposta
8
Invece di utilizzare valori fissi, è possibile moltiplicare height
e width
dell'elemento radice in base a fattori che determinano la dimensione dei propri elementi proporzionale alla dimensione degli elementi radice. Inoltre è possibile utilizzare QML anchors. Con questo è possibile creare interfacce grafiche completamente scalabili:
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
}
}
}
io non so un modo per ottenere la risoluzione dello schermo con la pura QML che è disponibile a tutti gli ambienti.
Per determinare la risoluzione dello schermo sui dispositivi mobili è possibile utilizzare QML Screen Element.
Nelle applicazioni desktop è possibile ottenere la risoluzione dello schermo in C++ (ad esempio con QDesktopWidget) e renderlo available in QML.
Problemi correlati
- 1. Elementi filtro QML ListView
- 2. Aggiungere elementi dinamicamente a SplitView in QML
- 3. Dimensione minima finestra QML con cornice
- 4. Leggi QML dimensione di elemento definito da anchors.fill: genitore
- 5. Crea elemento QML in C++?
- 6. Mostra FPS in QML
- 7. RadioButton in QML Desktop
- 8. dichiarare la proprietà globale in QML per altri file QML
- 9. Come riutilizzare il codice in QML
- 10. utilizzando il caricatore in qml
- 11. Dimensione carattere ggplot per elementi diversi
- 12. Qt QML da QML a C++ QImage su Android
- 13. QML: navigazione tra le pagine qml dalla percezione del progetto
- 14. Specifica del carattere per molti elementi di testo in Qt QML
- 15. Come disabilitare la gestione dinamica degli oggetti quando gli elementi visibili in qml listview cambiano?
- 16. Rendering OpenGL su un elemento QML
- 17. Qml e immagine sfocata
- 18. QML - MouseArea - propagating onPositionChanged
- 19. Cancella ancoraggio QML
- 20. QML Canvas.requestAnimationFrame esplode
- 21. Qml C++ Trova Bambino
- 22. XML analisi con QML XmlListModel
- 23. QML portata componente di puzzle
- 24. QML - indirizzamento a un antenato
- 25. gerarchia qml con qrc
- 26. Scroll QML Grid
- 27. QML Keys.onEnterSTipato problema
- 28. salvataggio immagine QML
- 29. Qt5. Incorpora oggetto QWidget in QML
- 30. Come ritardare l'azione JavaScript in QML?
Perfetto, grazie. Ci proverò. – Groovy
L'elemento [QML Screen Element] (http://qt-project.org/doc/qt-5/qml-qtquick-window-screen.html) è disponibile anche in QML 5. – rmoestl