Traceback (most recent call last): File "D:\360MoveData\Users\15312\Desktop\SQL\t.py", line 28, in <lambda> self.query_button.clicked.connect(lambda: self.query("select * from Staff")) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ TypeError: MainWindow.query() takes 1 positional argument but 2 were given PS D:\360MoveData\Users\15312\Desktop\SQL>
时间: 2023-08-02 18:08:48 浏览: 167
pytorch数据预处理错误的解决
5星 · 资源好评率100%
这个错误提示显示,你在连接 `query_button` 的 `clicked` 信号时,传递了一个包含 SQL 查询语句的参数 `"select * from Staff"`,但是 `query()` 方法只接受一个参数,因此会引发 `TypeError` 异常。可以通过修改 `query()` 方法的定义来接受两个参数,或者修改连接信号的方式来传递一个参数,例如:
1. 修改 `query()` 方法的定义
```python
def query(self, query_string, query_result):
query_result.clear()
self.cur.execute(query_string)
result = self.cur.fetchall()
for row in result:
query_result.addItem(str(row))
```
2. 修改连接信号的方式
```python
self.query_button.clicked.connect(lambda: self.query("select * from Staff", self.query_result))
```
这样就可以正常运行了。
阅读全文