Tôi mới sử dụng QML. Như tôi đã hiểu, tất cả các phần tử đều có chiều rộng và chiều cao liên quan để xác định kích thước của chúng. Nếu người dùng thay đổi độ phân giải màn hình, kết quả cuối cùng trông có vẻ lạ. Có cách nào kích thước của các yếu tố có thể được điều khiển động dựa trên độ phân giải màn hình không?Kích thước của các phần tử trong QML
7
A
Trả lời
8
Thay vì sử dụng giá trị cố định, bạn có thể nhân height
và width
của phần tử gốc theo các yếu tố, xác định kích thước của các phần tử tỷ lệ thuận với kích thước phần tử gốc. Ngoài ra, bạn có thể sử dụng QML anchors. Với điều này, bạn có thể tạo GUI hoàn toàn có thể mở rộng:
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
}
}
}
Tôi không biết cách nào để có độ phân giải màn hình với QML thuần túy có sẵn ở tất cả các môi trường.
Để xác định độ phân giải màn hình trên thiết bị di động, bạn có thể sử dụng QML Screen Element.
Trong các ứng dụng dành cho máy tính để bàn, bạn có thể nhận được độ phân giải màn hình bằng C++ (ví dụ: QDesktopWidget) và đặt nó available in QML.
Các vấn đề liên quan
- 1. Đọc kích thước phần tử QML được xác định bởi anchors.fill: parent
- 2. lấy kích thước lề của một phần tử với jquery
- 3. Lấy kích thước của phần tử được chuyển đổi CSS3
- 4. Thay đổi kích thước phông chữ của tất cả các phần tử bên trong div
- 5. Nhớ vị trí cuộn trong phần tử QML
- 6. Thay đổi kích thước một phần tử kích hoạt sự kiện thay đổi kích thước của cửa sổ
- 7. Tìm ánh xạ duy nhất giữa các phần tử của hai mảng có cùng kích thước
- 8. Lấy kích thước của các kích thước trong mảng
- 9. Mặc định kích thước phần tử đầu vào
- 10. Tự động thay đổi kích thước phần tử với kích thước cửa sổ jquery
- 11. QML, tự động thêm phần tử vào listview
- 12. Gán phím tắt cho các thành phần QML
- 13. Kích thước JPanel bởi các thành phần bên trong
- 14. Tạo một kích thước cố định std :: vector và ghi vào các phần tử
- 15. Kích thước phông chữ tương đối phức tạp trên các phần tử con?
- 16. kích thước phông chữ có ảnh hưởng đến chiều cao của phần tử khối không?
- 17. Cách lấy kích thước được chia tỷ lệ của phần tử Hình ảnh WPF
- 18. Tùy chỉnh kích thước cửa sổ được vẽ trên các phần tử HwndHost
- 19. Thay đổi kích thước phần tử bằng tay cầm hộp ở các góc
- 20. Xóa thuộc tính thừa kế của một phần tử (kích thước hộp)
- 21. Làm cách nào để tạo hoạt ảnh 'tăng kích thước, sau đó giảm xuống' trong QML?
- 22. jQuery có thể sao chép các giới hạn của một phần tử (vị trí, kích thước, lề, v.v.) cho một phần tử khác không?
- 23. JavaScript không thay đổi kích thước chiều cao của phần tử UL đôi khi khi chèn các phần tử LI bằng cách sử dụng Jquery
- 24. Thay đổi kích thước phần tử Div khi in trong Chrome
- 25. Làm cách nào để liên kết thay đổi kích thước với kích thước của các thành phần?
- 26. Nhận kích thước phông chữ được tính toán cho phần tử DOM trong JS
- 27. Làm thế nào để có được kích thước phần tử SVG trong FireFox?
- 28. Loại phần tử của các phần tử giả là gì?
- 29. kích thước của struct trong C
- 30. thay đổi kích thước thành phần của jquery.knob.js lib
Hoàn hảo, cảm ơn. Tôi sẽ thử cái này. – Groovy
[Thành phần màn hình QML] (http://qt-project.org/doc/qt-5/qml-qtquick-window-screen.html) cũng có sẵn trong QML 5. – rmoestl