Jestem nowy w QML. Jak rozumiem, wszystkie elementy mają powiązaną szerokość i wysokość, które określają ich rozmiar. Jeśli użytkownik zmieni rozdzielczość ekranu, ostateczny wynik wygląda dziwnie. Czy istnieje sposób, w jaki rozmiar elementów może być kontrolowany dynamicznie na podstawie rozdzielczości ekranu?Rozmiar elementów w QML
7
A
Odpowiedz
8
Zamiast używać stałych wartości, można pomnożyć height
i width
elementu głównego przez czynniki, które określają wielkość elementów proporcjonalną do rozmiaru elementów głównych. Dodatkowo możesz użyć QML anchors. Dzięki temu można tworzyć całkowicie skalowalne GUI:
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
}
}
}
nie wiem sposób, aby uzyskać rozdzielczość ekranu z czystej QML, który jest dostępny we wszystkich środowiskach.
Aby określić rozdzielczość ekranu na urządzeniach mobilnych, można użyć QML Screen Element.
W aplikacjach komputerowych można uzyskać rozdzielczość ekranu w C++ (np. Z QDesktopWidget) i ustawić ją jako available in QML.
Powiązane problemy
- 1. Pokaż FPS w QML
- 2. Selektor czasu w QML
- 3. RadioButton w QML Desktop
- 4. QML - adresowanie przodka
- 5. Jak ponowne wykorzystanie kodu w QML
- 6. Jak przechwycić sygnał w QML?
- 7. Możliwość osadzania Latex w QML
- 8. Jak ustawić rozmiar czcionki dla elementów w Xamarin Picker?
- 9. Jak można zmienić rozmiar elementów przewijania w JComboBox?
- 10. Zawijanie tekstu Qml (maksymalna szerokość)
- 11. QML: Nawigacja między stronami qml od percepcji projektu
- 12. zapisywanie obrazu QML
- 13. zmiana kontekstu z qml
- 14. QML FontLoader nie działa
- 15. QML zakres komponent puzzle
- 16. Hierarchia qml z qrc
- 17. Klucz QML Keys.onEnterPressed
- 18. QML - MouseArea - propagowanie naPositionChanged
- 19. Jak zrobić "is_a", "typeof" lub instanceof w QML?
- 20. Utwórz stały rozmiar std :: vector i napisz do elementów
- 21. Dodaj elementy dynamicznie do SplitView w QML
- 22. Jak osadzić widok QML w macierzystym oknie
- 23. QML w aplikacji C++ lub odwrotnie
- 24. Zapamiętaj pozycję przewijania w elemencie QML
- 25. Jak zaprojektować wielopoziomowy układ płynów w QML
- 26. Odczytywanie i zapisywanie plików w QML (Qt)
- 27. Jak znaleźć błędy składniowe w plikach QML?
- 28. ostrzeżenie o właściwościach nie NOTIFYable w QML
- 29. Nieskończone przewijanie listy QTView w QML
- 30. Qml: jak wyłączyć przewijanie/przeciąganie w ListView?
Doskonale, dzięki. Spróbuję tego. – Groovy
[Element ekranu QML] (http://qt-project.org/doc/qt-5/qml-qtquick-window-screen.html) jest również dostępny w wersji QML 5. – rmoestl