1

我有一个 2D 模型,其中每一行代表视频中的一帧,每一列代表一个对象。对象在每一帧上可以有不同的状态,这存储在模型中。然后我有一个显示这些数据的 QTableView。模型有标题数据,所以每一行都有一个像“frame k”这样的标题,每列都有一个像“object n”这样的标题。此表是可编辑的。但我希望用户以另一种方式编辑它。另一种方式是显示单个帧的图形视图。图形视图下方是代表每一帧的列表(水平方向)。这样,用户可以单击列表中的一个框架,图形视图现在会显示该框架。

问题是列表显示模型中每一行的第一列。我想要它做的是显示每一行的标题(所以列表显示“第 1 帧、第 2 帧等”)。有没有办法做到这一点?

4

1 回答 1

1

两种可能的解决方案:

  1. 尝试使用代理模型(QAbstractProxyModel 的子类),它将行标题作为单行中的列进行访问。这不是微不足道的,因为代理模型将原始模型视为标头的数据显示为数据。

  2. 显示模型的第二个 2D 视图,但隐藏除列标题之外的所有内容。由于您的框架是行,因此您需要一个代理模型来在行和列之间进行转置。

免责声明:我实际上并没有实施任何解决方案。

于 2008-09-20T19:11:32.877 回答