создавать объекты динамически можно несколькими способами, см.
https://doc.qt.io/qt-6/qtqml-javascript-dynamicobjectcreation.htmlпример из проекта, лишь нужный кусок:
C++ (Qt)
Component {
id: flow
Flow {
spacing: 5
Layout.fillWidth: true
}
}
// где-то на форме:
ColumnLayout {
id: answerElementsContainer
spacing: 5
}
// в обработчике кнопки пишем:
const flowElement = flow.createObject(answerElementsContainer)
здесь объект Flow будет помещен в ColumnLayout.
сохранять созданные элементы можно, например, в жс массиве.
сохранить конфигурацию проще всего наверное через QSettings, но для этого надо будет вызвать C++ из QML.