QAbstractTableModel和QComboBox在一起

时间:2012-11-06 08:24:12

标签: python model-view-controller pyqt

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

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

在网上浏览后,我找到了两个解决方案:

  1. QAbstractListModel
  2. 中的相同数据创建另一个QAbstractTableModel
  3. 使用QSortFilterProxyModel隐藏其他列
  4. 哪个最好? 感谢

1 个答案:

答案 0 :(得分:1)

使用setModelColumn应该有效。我会尝试解决这个问题。也许您在错误的时间设置modelColumndocs可以这样说:

  

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

如果这确实不起作用,我确信应该这样,那就使用QSortFilterProxyModel。这将是一项很少的工作,应该是微不足道的。