我有几个课程,如猫,狗和鸟。 我的目标是拥有一个QTableModel,它可以合并这些类中的所有属性,以便以后在QTableView和QDataMapper中使用。
在表A中,每个数据行由一只猫,一只狗和一只鸟组成。 在表B中,每个数据行只包含两只猫而没有其他动物。
这是正确的方法: 1.为每个类创建一个QTableModel(CatModel:1列,DogModel:2列,BirdModel:3列) 2.将这些模型合并为一个模型,表A中有1 + 2 + 3 = 6列(表B只有2列)
如果这是正确的想法,如何实施第2步? 我读过有关QIdentityProxyModel类的内容。但据我所知,这个类只适用于一个源模型。我的另一个想法是创建一个新的QTableModel,其中包含所有使用模型的列表。根据ModelIndex的列,计算负责模型。例如:index.column()== 5 =>它是我鸟的第二列。