当您在由QLineEdit()函数创建的编辑窗口中输入一个值,然后单击QPushButton时,您试图只打印与在编辑窗口中输入的值匹配的行。如果按搜索按钮而不输入任何内容,则希望再次看到所有结果(行)。你知道吗
我使用setRowHidden()来实现这一点,但没有看到上面的结果。你知道吗
是否有提供上述功能的功能?我想知道是否有解决办法。你知道吗
我尝试将setRowHidden()的参数值更改为True或False,但无法获得所需的结果。你知道吗
def OnFilter(self):
for i in range(0, tableWidget.rowCount()):
item = tableWidget.item(i, 1)
if (item is not None and item.data(QtCore.Qt.EditRole) == (self.SearchEdit.text())):
tableWidget.setRowHidden(i, False)
else:
tableWidget.setRowHidden(i, True)
self.SearchEdit = QLineEdit()
self.SearchButton = QPushButton("search")
self.SearchButton.clicked.connect(self.OnFilter)
如果在当前编辑窗口中输入值后按搜索按钮,则只输出相应的行。但是,如果您试图通过清除“编辑”窗口中输入的值并按“搜索”按钮来查看整个值(行),则不会输出任何内容。你知道吗
你是说当self.SearchEdit.text()==“”应显示所有行,但代码将空字符串(“”)视为关键字,并尝试在表中匹配它。
在函数中放入if语句,以便ifself.SearchEdit.text()==“”,显示所有行。
您可以这样做:
相关问题 更多 >
编程相关推荐