【发布时间】:2018-04-22 10:17:37
【问题描述】:
我正在使用 QtableView 来显示我的日志并按列过滤它们,使用的是 QSortFilterProxyModel。如果我使用某个值过滤一列,并且使用过滤后的数据,如果我尝试过滤第二列,则最后一个过滤器将被重置,并且显示与第二列上的过滤器相对应的数据。我想在 Qtableview 上实现多列过滤。
代码sn-p:
self.tableView = QTableView()
self.model = QtGui.QStandardItemModel(self)
self.proxy = QtGui.QSortFilterProxyModel(self)
self.proxy.setSourceModel(self.model)
self.tableView.setModel(self.proxy)
def updateTable(self):
self.model.invisibleRootItem().appendRow(,,,,)
def filterTable(self, stringAction, filterColumn):
filterString = QtCore.QRegExp( stringAction,
QtCore.Qt.CaseSensitive,
QtCore.QRegExp.FixedString
)
self.proxy.setFilterRegExp(filterString)
self.proxy.setFilterKeyColumn(filterColumn)
【问题讨论】:
标签: python python-2.7 pyqt pyqt4 qtableview