Я пытаюсь использовать архитектуру модели/представления в C++ и QT и должен понимать, как наилучшим образом подходит делить одну ячейку в QTableView на более строк или более столбцов и использовать для них разные виджеты, а также как отображать только несколько столбцов из модели.Qt - модель/представление модели - несколько данных в одной ячейке QTableView
Я хочу держать эту структуру для каждой строки:
- int
- MyStruct - int
- QString
- 2ndStruct - double
- double
- QString
Что важно:
- Дисплей в 2D таблицы (например, QTableView) - без деревьев. Я могу изменить модель, но мне нужно отобразить ее в таблице.
- Показать только некоторые данные из модели.
- В соответствии с индексом строк - выберите некоторые столбцы из родителя, а также некоторые данные из child (structs).
У меня есть несколько вопросов:
- Как реализовать несколько строк/столбцов в одной ячейке QTableView и использовать различные типы и различные QWidgets для них?
- Как выбрать только некоторые данные, которые я хочу показать в поле зрения? Когда я переопределяю «columnCount» в модели, я не могу поставить константу там, потому что хочу использовать эту модель в другом представлении. Я прочитал учебники, и я обнаружил, что нет необходимости переопределять класс представления. Как я могу выбрать только данные, которые я хочу показать?
- Лучше использовать 3D-модель (QStandardItemModel с QStandardItems) или 2D-модель (QAbstractTableModel) для этого случая?