Tôi đang sử dụng Qt 5.2 beta, Qt Quick 2.1.Cách thích hợp để thực hiện phóng to/thu nhỏ trong Qt Quick (QML) Flickable
Tôi gặp sự cố ngay lập tức với thành phần Flickable
.
Dưới đây là tối thiểu mã làm việc Ví dụ:
import QtQuick 2.1
import QtQuick.Controls 1.0
ApplicationWindow {
width: 300
height: 200
Rectangle {
anchors.fill: parent
color: "green"
Flickable {
id: flickArea
anchors {fill: parent; margins: 10; }
contentWidth: rect.width;
contentHeight: rect.height
Rectangle {
id: rect
x: 0; y: 0;
width: 200; height: 300;
color: "lightgrey"
Rectangle {
anchors { fill: parent; margins: 10; }
color: "red"
}
}
}
}
Button {
anchors.bottom: parent.bottom;
anchors.horizontalCenter: parent.horizontalCenter;
text: "Scale flickArea"
onClicked: { flickArea.scale += 0.2; }
}
}
Khi tôi đang làm mở rộng quy mô, tôi hy vọng rằng tất cả các yếu tố con sẽ vẫn hiển thị như trước và khu vực bên trong trở nên lớn hơn.
Nhưng thay vào đó, các phần tử con di chuyển ra khỏi nội dung có thể vuốt được.
Ai đó có thể đề xuất một cách bình thường để tránh vấn đề này mà không cần phải tính toán lại tất cả các bù trừ thủ công?
Cảm ơn.
Im trên điện thoại, vì vậy đây chỉ là lời nhắc trả lời zhis sau. Tôi nghĩ rằng một cách tốt hơn là sử dụng Scale QML Type và thiết lập điểm gốc tương ứng. –