Я хочу написать некоторый QML для редактирования файла CSV, представляя массив текстовых полей, похожий на сетку, чтобы разрешить ввод/вывод пользователя. Я планирую написать подкласс QAbstractTableModel на C++ для представления файла, не вижу проблем с этим. Мой подкласс будет индексировать поля, используя строки и столбцы. Я не буду использовать «роли как столбцы», поскольку количество столбцов будет меняться во время выполнения в зависимости от файла, который пользователь выбирает для загрузки.
Есть ли элемент управления 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