Я работал с MVVM в WPF и теперь пытался использовать QT. Концепция модели QT View мне ясна (надеюсь). Тем не менее я пытался использовать стиль C# и сделать QT «наблюдаемая коллекция», который на самом деле является списком с определенной ролью - указатель на объект: < /p>
class ObjectsListModel : public QAbstractListModel {
Q_OBJECT
public:
enum RoleNames {
ObjectRole = Qt::UserRole + 1
};
...
QList data_;
};
< /code>
Поэтому 1 -й вопрос: есть ли уже стандартная реализация для этого? < /p>
Тогда я определил класс с 2 свойствами: < /p>
class HumanModel : public QObject
{
Q_OBJECT
public:
Q_PROPERTY(QString name READ getName WRITE setName NOTIFY nameChanged);
Q_PROPERTY(QString nickname READ getNickname WRITE setNickname NOTIFY nicknameChanged);
...
< /code>
Тогда внутри QML I создал таблицу: < /p>
TableView {
model: my_observable_collection
TableViewColumn { role: "name"; title: "Name"; width: 50; }
TableViewColumn { role: "nickname"; title: "Nickname"; width: 50; }
< /code>
Это работало очень хорошо, все уведомления, изменение содержимого списка и т. Д., Идеально. Возможно ли это (без создания новой «таблицы» -viewmodel, которая дублирует все свойства HumanModel)?
Подробнее здесь: https://stackoverflow.com/questions/365 ... viewcolumn