2010-06-11 29 views
11

Trong ứng dụng của tôi, tôi muốn sử dụng QGraphicsItemGroup để nhóm các mục vào một mục.
Tôi chơi với nó một chút và không chắc chắn bằng cách sử dụng nó bởi vì khi tôi muốn bắt sự kiện, sự kiện được sáp nhập với nhau nhưng tôi muốn xử lý sự kiện cụ thể với con cụ thể.
Làm cách nào để đạt được điều này?Sự kiện với QGraphicsItemGroup

Trả lời

12

Bạn cần gọi số QGraphicsItemGroup::setHandlesChildEvents(false). Điều này dừng việc QGraphicsItemGroup cố gắng xử lý sự kiện và cho phép con QGraphicsItem xử lý chúng thay thế.

3

Tôi nghĩ đó là điểm của QGraphicsItemGroup. Xét từ tài liệu, điều này có nghĩa là đơn giản hóa việc di chuyển và chuyển đổi nhiều mục cùng một lúc, ví dụ: hãy tưởng tượng trường hợp sau: người dùng vẽ một hình chữ nhật lựa chọn xung quanh một số mục trong một ứng dụng vì anh ta muốn di chuyển tất cả chúng. Có lẽ điều bạn muốn nhiều hơn là tạo một hệ thống phân cấp các mục, ví dụ: có một mục cha với nhiều mục con. Bằng cách này, bạn sẽ nhận được các sự kiện riêng lẻ cho mỗi mục. Điều này có thể được thực hiện bằng cách gọi QGraphicsItem::setParentItem();

+2

Mỗi khi tôi đã cố gắng sử dụng QGraphicsItemGroup tôi đã quay trở lại các mối quan hệ cha mẹ đồng bằng. Tài liệu không rõ ràng về nó –

Các vấn đề liên quan