Есть ли элемент управления в виде сетки QML, который я могу прикрепить к QAbstractTableModel, я хочу использовать столбцы в модели, а не роли

Я хочу написать некоторый 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


person Nigel Sharp    schedule 21.01.2020    source источник


Ответы (1)


TableView — это представление для табличных моделей.

person GrecKo    schedule 21.01.2020