Используйте finditem () только для одного столбца - PullRequest
0 голосов
/ 27 июня 2018

У меня есть QTableWidget, заполненный QtableWidgetItems.

Мне нужна панель поиска, где я могу ввести и в качестве ответа таблица должна обновляться и отображать только те элементы, которые частично совпадают со строкой в ​​поле поиска.

Я использую для этого finditem, но я хочу, чтобы для поиска использовался только один столбец. Как я могу это сделать?

1 Ответ

0 голосов
/ 27 июня 2018

Итерация таблицы вручную.

columnOfInterest = 1 # or whatever
valueOfInterest = "foo" 
for rowIndex in range(self.myTable.rowCount()):
    twItem = self.myTable.item(rowIndex, columnOfInterest)
    if twItem.text() == valueOfInterest:
        self.myTable.setRowHidden(rowIndex, False)
    else:
        self.myTable.setRowHidden(rowIndex, True)

Вам нужно будет внедрить критерии лучшего соответствия. Вы можете использовать строковые функции, такие как str.find и str.startswith и другие , если хотите сделать это самостоятельно.

...