QSqlTableModel setFilter参数太多

QSqlTableModel setFilter too many arguments

我正在尝试将信号分配给按钮,以便它调用一个函数来过滤并在 tableView 上显示特定数据。 但是当我点击按钮时它说:

Type error: setFilter(self, str) too many arguments

应用程序崩溃

分配信号

self.ui.pushButton.clicked.connect(lambda : self.search(self.ui.lineEdit.text()))
def search(self,item):
    item = "%" + item + "%"
    self.model.setFilter('name LIKE ?',(item,))

    self.model.select()

但是当 search() 中除了 self 之外没有其他参数时它起作用

self.model.setFilter('name LIKE "John" ')

setFilter() 不接受占位符,因此您只需连接:

def search(self,item):
    self.model.setFilter("name LIKE '%{}%'".format(item))
    self.model.select()