PyQt用于筛选选中项的自定义QSorfFilterProxyModel

PyQt用于筛选选中项的自定义QSorfFilterProxyModel,qt,pyqt5,qsortfilterproxymodel,Qt,Pyqt5,Qsortfilterproxymodel,我正在用PyQt制作一个qt应用程序。我有一个在QTableView中显示的自定义QTableModel。可以检查此模型中的每一行,当检查一行时,我希望它显示在另一个QTableView中。为此,我从QSortFilterProxyModel中创建了一个自定义proxymodel子类。 在我的自定义模型中,我重新实现了filterAcceptsRow方法,以仅接受选中的行: def filterAcceptsRow(self, pos, index): model =

我正在用PyQt制作一个qt应用程序。我有一个在QTableView中显示的自定义QTableModel。可以检查此模型中的每一行,当检查一行时,我希望它显示在另一个QTableView中。为此,我从QSortFilterProxyModel中创建了一个自定义proxymodel子类。 在我的自定义模型中,我重新实现了filterAcceptsRow方法,以仅接受选中的行:

    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.谢谢,这正是我所需要的。