我正在尝试在 C++ 和 QT 中使用模型/视图架构,需要了解如何将 QTableView 中的一个单元格划分为更多行或更多列并为它们使用不同的小部件以及如何仅显示一些列从模型。
我想每行保持这个结构:
- int
- MyStruct - int
- QString
- 2ndStruct - double
- double
- QString
重要的是:
- 在 2D 表格中显示(例如 QTableView) - 没有树。我可以更改模型,但我需要在表格中显示它。
- 仅显示模型中的一些数据。
- 根据行索引 - 从父项中选择一些列,并从子项(结构)中选择一些数据。
我有几个问题:
- 如何在一个 QTableView 单元格中实现更多的行/列,并为它们使用不同的类型和不同的 QWidget?
- 如何只选择一些我想在视图中显示的数据?当我在模型中重新实现“columnCount”时,我不能把常量放在那里,因为我想在不同的视图中使用这个模型。我阅读了教程,发现没有必要重新实现视图类。如何只选择我想显示的数据?
- 在这种情况下使用 3D 模型(QStandardItemModel 和 QStandardItems)还是 2D 模型(QAbstractTableModel)更好?