Код: Выделить всё
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
# ...
hlayout = QHBoxLayout()
fltrlbl = QLabel("Filter on: ")
hlayout.addWidget(fltrlbl)
self.fltrle = QLineEdit()
self.fltrle.textChanged.connect(self.filterer)
self.fltrle.setClearButtonEnabled(True)
hlayout.addWidget(self.fltrle)
# ...
def filterer(self, filtertext):
for i in range(self.table.rowCount()):
for j in range(self.table.columnCount()):
item = self.table.item(i, j).text()
match = filtertext.lower() not in item.lower()
self.table.setRowHidden(i, match)
if not match:
break
Код: Выделить всё
class MainWindow(QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
# ...
hlayout = QHBoxLayout()
fltrlbl = QLabel("Filter on: ")
hlayout.addWidget(fltrlbl)
self.fltrcb = QComboBox()
self.fltrcb.addItems(["Name", "Email", "Address",
"City", "State", "Zip"])
hlayout.addWidget(self.fltrcb)
self.fltrle = QLineEdit()
self.fltrle.textChanged.connect(self.filterer)
self.fltrle.setClearButtonEnabled(True)
hlayout.addWidget(self.fltrle)
# ...
def filterer(self, filtertext):
icol = self.fltrcb.currentIndex()
for irow in range(self.table.rowCount()):
item = self.table.item(irow, icol).text()
match = filtertext.lower() not in item.lower()
self.table.setRowHidden(irow, match)
if not match:
break
Заранее спасибо.
Подробнее здесь: https://stackoverflow.com/questions/799 ... t-in-pyqt5
Мобильная версия