Я хочу написать некоторый QML для редактирования CSV-файла, представив сетчатый массив текстовых полей, чтобы разрешить пользовательский ввод / вывод. Я планирую написать подкласс C ++ класса QAbstractTableModel для представления файла, я не могу предвидеть никаких проблем с этим. Мой подкласс будет индексировать поля, используя строки и столбцы. Я не буду использовать «роли в качестве столбцов», поскольку количество столбцов будет изменяться во время выполнения в зависимости от файла, который пользователь выбирает для загрузки.
Существует ли элемент управления QML, который будет отображать мой QAbstractTableModel? В ответах на аналогичные проблемы в Интернете предлагается использовать роли для столбцов, но я бы предпочел использовать нумерацию столбцов, предлагаемую QModelIndex.
Вот безумно простая QAbstractTableModel для начинающих - сетка «Blob» два на два. Я хотел бы сделать это в QML
class CsvGridModel: public QAbstractTableModel
{
public:
CsvGridModel();
virtual int rowCount(const QModelIndex &parent = QModelIndex()) const override {return 2;}
virtual int columnCount(const QModelIndex &parent = QModelIndex()) const override {return 2;}
virtual QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override {return "Blob";}
};
Я использую Qt 5.11.3