我有一个 a 的子类,QAbstractTableModel
我想用它QComboBox
来显示这个表的保管箱。
但默认情况下,它只显示我表的第一列,这不是我想要的。我试图setModelColumn
显示第 1 列而不是 0 但它不起作用。
在互联网上环顾四周后,我找到了2个解决方案:
QAbstractListModel
使用相同的数据创建另一个QAbstractTableModel
- 使用 a
QSortFilterProxyModel
隐藏其他列
哪个是最好的?谢谢
我有一个 a 的子类,QAbstractTableModel
我想用它QComboBox
来显示这个表的保管箱。
但默认情况下,它只显示我表的第一列,这不是我想要的。我试图setModelColumn
显示第 1 列而不是 0 但它不起作用。
在互联网上环顾四周后,我找到了2个解决方案:
QAbstractListModel
使用相同的数据创建另一个QAbstractTableModel
QSortFilterProxyModel
隐藏其他列哪个是最好的?谢谢
使用setModelColumn
应该工作。我会尝试解决这个问题。也许您modelColumn
在错误的时间设置了,文档对此有这样的说法:
如果在填充组合框之前设置,弹出视图不会受到影响,并且会显示第一列(使用此属性的默认值)。
如果这真的不起作用,我很确定它应该,然后使用QSortFilterProxyModel
. 这将少很多工作,而且应该几乎是微不足道的。