QT — Как изменить модель C ++ из QML?

У меня есть представление списка в Qml с вводом текста в качестве одного из элементов. Я использовал модель C ++, чтобы раздуть представление списка. Теперь я хочу изменить модель C ++, если пользователь вводит любое значение в Text Input в qml.

Как я могу это сделать?

1

Решение

Вы должны создать слот в вашем классе модели и вызвать его:

public slots:
setDataInModel(const int index, const QVariant &value);

И вызвать его из делегата qml этого элемента, когда он был отредактирован следующим образом:

model.setDataInModel(index, text)

Вы также можете создавать методы, которые являются Q_INVOKABLE, и вызывать их из QML таким же образом.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]