5
Các loại QML Component
và Instantiator
có vẻ giống những việc tương tự; tạo các đối tượng QML theo yêu cầu, trái ngược với khi phân tích các định nghĩa của chúng. Vậy sự khác biệt là gì? Tại sao tôi muốn sử dụng cái kia?Sự khác biệt giữa thành phần và bộ giải mã của QML?
Nhưng tôi không thể chỉ tạo các phiên bản của một 'Thành phần' mà không có một' Trình xử lý '? – JesseTG
Có nhiều Khả năng, chọn một khả năng phù hợp nhất với bạn: Bạn có thể sử dụng ['Loader'] (http://doc.qt.io/qt-5/qml-qtquick-loader.html) cho một trường hợp , một ['Repeater '] (http://doc.qt.io/qt-4.8/qml-repeater.html) cho nhiều phiên bản. Vì QtQml2.2 cũng có ['Instantiator '] (http://doc.qt.io/qt-5/qml-qtqml-instantiator.html) là một Repeater có thể tải không đồng bộ. Bạn cũng có thể sử dụng 'Component.createrObject()' hoặc 'Component.incubateObject()' được gắn vào mỗi 'Item' –
Bạn có thể tưởng tượng' Component' như là một nguyên mẫu của đối tượng. Giống như một lớp 'MyClass {}' trong 'C++'. 'Instantiator' là một đối tượng thực sự tạo ra các mục. Vì vậy, các mục này được parented để 'Instantiator'. Khi bạn tạo * instance * của 'Component', bạn nên thiết lập một parent. – folibis