Как определить столбцы, похожие на QML TableViewColumn?

Я работал с MVVM в WPF и сейчас пытаюсь использовать Qt. Концепция Qt View Model мне понятна (надеюсь). Тем не менее я попытался использовать стиль c # и сделать Qt «наблюдаемой коллекцией», которая на самом деле представляет собой список с единственной определенной ролью — указателем на объект:

class ObjectsListModel : public QAbstractListModel {
Q_OBJECT
public:
enum RoleNames {
ObjectRole = Qt::UserRole + 1
};

...

QList<QObject*> data_;
};

Поэтому первый вопрос: есть ли стандартная реализация для этого?

Затем я определил класс с 2 свойствами:

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);
...

Затем внутри QML я создал табличное представление:

TableView {
model: my_observable_collection
TableViewColumn { role: "name"; title: "Name"; width: 50; }
TableViewColumn { role: "nickname"; title: "Nickname"; width: 50; }

Работало очень хорошо, все уведомления, изменение содержимого списка и т. Д. Отлично.

Теперь я хотел бы использовать QTableView (не-QML, простой интерфейс Qt), используя ту же модель списка и HumanModel. Возможно ли это (без создания новой «табличной» -видовой модели, которая дублирует все свойства HumanModel)?

0

Решение

Задача ещё не решена.

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

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

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