简体   繁体   English

QSqlTableModel setFilter 太多 arguments

[英]QSqlTableModel setFilter too many arguments

I'm trying to assign a signal to a pushbutton so that it calls a function which filters and shows specific data on tableView.我正在尝试将信号分配给按钮,以便它调用 function 过滤并在 tableView 上显示特定数据。 but when i click on the button it says:但是当我点击按钮时它说:

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

and the application crashes并且应用程序崩溃

assigning signal分配信号

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()

but when there are no other parameters but self in search() it works但是当在search()中除了self没有其他参数时,它可以工作

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

setFilter() does not accept placeholders so you just have to concatenate: setFilter() 不接受占位符,因此您只需连接:

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM