代码之家  ›  专栏  ›  技术社区  ›  Marius

在qt中具有单个模型的表和列表视图

  •  1
  • Marius  · 技术社区  · 16 年前

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

    问题是列表显示了模型中每行的第一列。我想要它做的是显示每一行的标题(所以列表上写着“帧1,帧2,等等”)。有办法吗?

    1 回复  |  直到 16 年前
        1
  •  1
  •   community wiki Omer Zak    16 年前

    两种可能的解决方案:

    1. 尝试使用代理模型(QabstractProxyModel的子类),该模型将行标题作为单行中的列进行访问。并不简单,因为代理模型将原始模型认为是头的数据显示为数据。

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

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