PyQt用于筛选选中项的自定义QSorfFilterProxyModel
我正在用PyQt制作一个qt应用程序。我有一个在QTableView中显示的自定义QTableModel。可以检查此模型中的每一行,当检查一行时,我希望它显示在另一个QTableView中。为此,我从QSortFilterProxyModel中创建了一个自定义proxymodel子类。 在我的自定义模型中,我重新实现了filterAcceptsRow方法,以仅接受选中的行:PyQt用于筛选选中项的自定义QSorfFilterProxyModel,qt,pyqt5,qsortfilterproxymodel,Qt,Pyqt5,Qsortfilterproxymodel,我正在用PyQt制作一个qt应用程序。我有一个在QTableView中显示的自定义QTableModel。可以检查此模型中的每一行,当检查一行时,我希望它显示在另一个QTableView中。为此,我从QSortFilterProxyModel中创建了一个自定义proxymodel子类。 在我的自定义模型中,我重新实现了filterAcceptsRow方法,以仅接受选中的行: def filterAcceptsRow(self, pos, index): model =
def filterAcceptsRow(self, pos, index):
model = self.sourceModel() # The sourcemodel is a 2d array of QStandardItem
row = model.row(pos) # This method returns the row at index pos
if row[0].checkState(): # The first QStandardItem has a checkbox
return True
return False
在我的程序开始时(我假设在调用setSourceModel时),它只工作一次,但在选中的项目更改时不会更新。如何确保在基础模型中的checkstate更改时调用此函数?还是有其他方法可以做到这一点 当您的模型中的项目被选中/取消选中时,模型需要发出相关信号。@G.M.谢谢,这正是我所需要的。