【发布时间】:2016-01-30 08:44:09
【问题描述】:
所以我写了这个非常简单的东西,它让我想弄清楚为什么它不起作用。当您单击时,它会打印一条语句。
所以对于第一个示例,我有一个按钮,并直接将函数 printName1 分配给它,效果非常好。
接下来就是使用.bind() 函数绑定它。所以在这种情况下,我们只有一个框架,可以根据您按下的按钮打印出某些内容。但不幸的是,每当我使用 bind 时,它都会抛出上面显示的错误。参考tkinter\__init__.py 的错误,所以它不是直接在我的代码中,但可能需要以不同的方式完成?谢谢大家。
from tkinter import *
root = Tk()
def printName1():
print('Jack')
def printName2():
print('John')
def printName3():
print('Jill')
frame = Frame(root, width=300, height=250)
frame.bind("<Button-1>", printName1)
frame.bind("<Button-2>", printName2)
frame.bind("<Button-3>", printName3)
frame.pack()
root.mainloop()
编辑:该错误令人困惑,因为它看起来好像有一个额外的参数,而应该是 0。但实际上我需要向函数添加一个参数,这就是事件。所以它应该是 def printName1(event) 等等。只是想我会让你们知道什么对我有用,以防有人偶然发现。
【问题讨论】: