1

我有一个 a 的子类,QAbstractTableModel我想用它QComboBox来显示这个表的保管箱。

但默认情况下,它只显示我表的第一列,这不是我想要的。我试图setModelColumn显示第 1 列而不是 0 但它不起作用。

在互联网上环顾四周后,我找到了2个解决方案:

  1. QAbstractListModel使用相同的数据创建另一个QAbstractTableModel
  2. 使用 aQSortFilterProxyModel隐藏其他列

哪个是最好的?谢谢

4

1 回答 1

1

使用setModelColumn应该工作。我会尝试解决这个问题。也许您modelColumn在错误的时间设置了,文档对此有这样的说法:

如果在填充组合框之前设置,弹出视图不会受到影响,并且会显示第一列(使用此属性的默认值)。

如果这真的不起作用,我很确定它应该,然后使用QSortFilterProxyModel. 这将少很多工作,而且应该几乎是微不足道的。

于 2012-11-06T08:45:29.890 回答