5
Типы QML Component
и Instantiator
, похоже, делают подобные вещи; создавать объекты QML по требованию, в отличие от анализа их определений. Так в чем же разница? Почему я хочу использовать один над другим?Разница между компонентом QML и Instantiator?
Но я не могу просто создать экземпляры «Компонента» без «Instantiator»? – JesseTG
Существует несколько возможностей, выберите, какой из них подходит для вас: вы можете использовать ['Loader'] (http://doc.qt.io/qt-5/qml-qtquick-loader.html) для одного экземпляра , ['Repeater '] (http://doc.qt.io/qt-4.8/qml-repeater.html) для нескольких экземпляров. Так как QtQml2.2 также есть ['Instantiator '] (http://doc.qt.io/qt-5/qml-qtqml-instantiator.html), который является повторителем, который может загружаться асинхронно. Вы также можете использовать 'Component.createrObject()' или 'Component.incubateObject()', которые прикреплены к каждому 'Item' –
. Вы можете представить« Компонент »в качестве прототипа объекта. Как 'class MyClass {}' в 'C++'. 'Instantiator' - это реальный объект, который создает элементы. Таким образом, эти элементы являются родительскими для «Instantiator». Когда вы создаете * экземпляр * из «Компонента», вы должны установить родительский элемент. – folibis