Qt中具有单个模型的表和列表视图
时间:2020-03-06 14:26:29 来源:igfitidea点击:
我有一个2D模型,其中每一行代表视频中的一帧,每一列代表一个对象。该对象在每个帧上可以具有不同的状态,并将其存储在模型中。然后,我有一个QTableView显示此数据。该模型具有标题数据,因此每一行都有一个标题,例如" frame k",而每一列都有一个标题,例如" object n"。该表是可编辑的。但是我希望用户以其他方式对其进行编辑。另一种方法是显示单个框架的图形视图。在图形视图下方是一个代表每个框架的列表(水平定向)。这样,用户可以单击列表中的框架,图形视图现在显示该框架。
问题是列表显示模型中每一行的第一列。我想要它做的是显示每行的标题(因此列表显示为" frame 1,frame 2,等等")。有没有办法做到这一点?
解决方案
两种可能的解决方案:
- 尝试使用代理模型(QAbstractProxyModel的子类),该模型将行标题作为单行中的列访问。这并非易事,因为代理模型将原始模型认为是标头的内容显示为数据。
- 显示模型的第二个2D视图,但隐藏除列标题之外的所有内容。由于帧是行,因此需要代理模型才能在行和列之间转置。
免责声明:我实际上没有实施任何解决方案。