2011-07-14 6 views
9

Tôi đang tìm các lớp chứa/bộ sưu tập có mục đích chung (ví dụ: danh sách, bản đồ) phát ra tín hiệu Qt khi các mục được thêm hoặc xóa.Có bất kỳ lớp container Qt quan sát nào không?

Tôi biết các lớp chứa Qt tiêu chuẩn không làm điều đó. Có ai biết về bất kỳ thư viện PMNM nào có container quan sát không?

Tôi nhận thấy có vấn đề với mẫu và tính năng Qt. Nếu nó dễ dàng, tôi chỉ tự mình làm thay vì tìm kiếm một cái hiện có. :)

Cảm ơn.

Trả lời

2

Nhưng thật dễ dàng :) Chỉ cần không thử phân lớp con của lớp chứa. Tạo một lớp con QObject chứa một thể hiện của vùng chứa mà bạn muốn sử dụng và viết các phương thức Add và Remove để phát ra các tín hiệu mà bạn muốn khi chúng được gọi.

+1

Ok, điều đó đúng như xa. Tôi đoán tôi không đủ cụ thể. Những gì tôi đã thực sự hy vọng cho là một giải pháp "hoàn chỉnh" bao gồm các tính năng như vòng lặp, chèn vào giữa, vv. Tôi có thể viết wrapper của riêng tôi xung quanh lớp container khác, nhưng tôi không muốn viết trình bao bọc xung quanh mọi phương thức Tôi muốn phơi bày. Nhưng nếu tôi không tìm được cách tiếp cận tốt hơn thì đó có lẽ là những gì tôi sẽ làm. – Chris

+2

Ah! Yêu cầu mới .. :) –

+0

Như @Chris chỉ ra, câu trả lời này nhìn ra những lợi ích bị mất của các lớp container của Qt - vòng lặp, vòng lặp foreach, vv – walkingTarget