python - 不是一个类 - TypeError: function() 接受 0 个位置参数,但给出了 1 个
问题描述
我已经阅读了 Stackoverflow 上有关此错误的几篇帖子以及与之相关的问题:因此此函数不是类方法,脚本中没有重复,等等。它是一个 tkinter 偶数驱动函数。我在另一个帖子上看到了类似的,我试过了,它有效,但我的没有,我不知道为什么。
如果您没有什么要说的,请不要发表明智的言论,否则在此先感谢您的帮助。
为了清楚起见,我将上下文简化为最基本的内容:
from tkinter import *
w = Tk()
def initializeVars():
global extRequired, Keyword, filePath
## extRequired = text1.get()
## Keyword = text2.get()
## filePath=BaseDir+AllFiles
print('initializing variables')
def func(event):
print("You hit return.")
w.bind('<Return>',initializeVars)
# Buttons
Button(text='Select Folder', command=initializeVars).grid(row=10,column=2)
w.mainloop()
如您所见,我正在尝试将initializeVars
函数绑定到键盘的返回键。
解决方案
w.bind('<Return>', initializeVars)
事件绑定需要一个将event
参数作为第一个参数的函数。因此,当您initializeVars
正确使用按钮处理程序时,您需要接受event
参数bind
才能工作。
如果您不需要该事件,也可以将其设为可选:
def initializeVars(event = None):
# ...
print('initializing variables')
推荐阅读
- angular7 - Angular 7:Observable 未能发出事件
- php - 根据更改哈希值更改密码
- dart - 如何将 HTTP 响应流(图像)转换为文件?
- java - 为什么在接口 JAVA 中有静态块是非法的?
- tensorflow - 在自定义数据上微调 BERT
- c - 重新定义外部库中的匿名类型 - 取消引用指向不完整类型的指针
- javascript - [Vue 警告]:渲染错误:“TypeError:无法读取未定义的属性‘产品’”
- swift - 获取实体的函数仅在从 AppDelegate 调用时有效
- javascript - 从 url 获取 json 数据并通过 JavaScript 将其放入变量中
- node.js - microsoft-graph api:从图形中的刷新令牌获取新的访问令牌,无需重定向 url