Tôi đang cố gắng viết một trò chơi với Qt 5.1 và Qt Quick 2 và đó là công cụ đồ họa mới (nhanh hơn). Tôi đã đọc tài liệu trong nhiều giờ nhưng vẫn không thể tìm ra các lớp nào sẽ sử dụng nếu tôi muốn di chuyển các mục trên màn hình có vị trí được xác định bằng mã C++. Trong QGraphics nó rất dễ: Tôi tạo một thể hiện của QGraphicsScene thêm bất kỳ người thừa kế nào của QGraphicsItem vào nó và sau đó tạo một thể hiện của QGraphicsView là một Widget và hiển thị tất cả các mục và các thay đổi của chúng. Tôi kết nối QGraphicsItem với các tín hiệu để thực hiện thay đổi.Khi nào nên sử dụng các lớp nào trong Qt Quick 2 và cách sử dụng?
Trong Qt nhanh 2 đầu tiên tôi đọc
- official examples mà chỉ được sử dụng QML và Javascript,
- sau đó tôi nghĩ rằng tôi tìm thấy tương đương để QGraphics, cụ thể là QDeclarativeEngine, QDeclarativeComponent và QDelcarativeView và đã sẵn sàng để tạo ra các yếu tố tùy chỉnh QML với Q_PROPERTY
- CẬP NHẬT: Bây giờ tôi phát hiện ra rằng QDeclarative * là Qt Quick 1 và QQml * là tiền tố Qt Quick 2 tương đương.
- Nhưng sau đó tôi cũng tìm thấy QQuickItem, QQuickWindow, QSGNode etc..
- Ai đó có thể cho tôi một ví dụ cơ bản dựa trên Qt Quick 2 và nơi hình ảnh trên canvas được di chuyển xung quanh bằng các tín hiệu được gửi từ QObject thường được viết bằng C++?
- Bạn có thể giúp tôi phân loại tất cả các lớp tôi đã đề cập hay không. Tôi nên sử dụng khi nào?
Khi nào tôi cần một QWindow? Đây là một phần của vấn đề tôi đang gặp phải. Với QGraphics tôi vừa thêm QGraphicView vào đâu đó trong layout của mình. – problemofficer
Bạn không thể thực hiện tương tự trực tiếp, vì 'QQuickView' không phải là' QWidget'; bạn có thể lưu trữ một khung nhìn như vậy bằng cách sử dụng 'QWidget :: createWindowContainer'. – peppe