仅在一列上使用 finditem()
Use finditem() only on one Column
我有一个用 QtableWidgetItems 填充的 QTableWidget。
我想要一个搜索栏,我可以在其中输入内容,作为响应,Table 应该会刷新并且只显示与搜索字段中的字符串部分匹配的项目。
我为此使用了 finditem,但我希望只使用一列进行搜索。我该怎么做?
手动迭代 table。
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
and str.startswith
and others 这样的字符串函数。
我有一个用 QtableWidgetItems 填充的 QTableWidget。
我想要一个搜索栏,我可以在其中输入内容,作为响应,Table 应该会刷新并且只显示与搜索字段中的字符串部分匹配的项目。
我为此使用了 finditem,但我希望只使用一列进行搜索。我该怎么做?
手动迭代 table。
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
and str.startswith
and others 这样的字符串函数。