Qt 中具有单个模型的表格和列表视图
Posted
技术标签:
【中文标题】Qt 中具有单个模型的表格和列表视图【英文标题】:Table and List view with single Model in Qt 【发布时间】:2008-09-19 15:24:09 【问题描述】:我有一个 2D 模型,其中每一行代表视频中的一帧,每一列代表一个对象。对象在每一帧上可以有不同的状态,这存储在模型中。然后我有一个显示这些数据的 QTableView。该模型具有标题数据,因此每一行都有一个像“帧 k”这样的标题,每列都有一个像“对象 n”这样的标题。此表是可编辑的。但我希望用户以另一种方式编辑它。另一种方式是显示单个帧的图形视图。图形视图下方是代表每一帧的列表(水平方向)。这样,用户可以单击列表中的一个框架,图形视图现在会显示该框架。
问题在于列表显示模型中每一行的第一列。我想要它做的是显示每一行的标题(所以列表显示“第 1 帧、第 2 帧等”)。有没有办法做到这一点?
【问题讨论】:
【参考方案1】:两种可能的解决方案:
尝试使用代理模型(QAbstractProxyModel 的子类),它将行标题作为单行中的列进行访问。这不是微不足道的,因为代理模型将原始模型视为标头的数据显示为数据。
显示模型的第二个 2D 视图,但隐藏除列标题之外的所有内容。由于您的帧是行,因此您需要一个代理模型来在行和列之间进行转置。
免责声明:我实际上并没有实施任何解决方案。
【讨论】:
以上是关于Qt 中具有单个模型的表格和列表视图的主要内容,如果未能解决你的问题,请参考以下文章