这个问题在这里已有答案:
我正在尝试学习python GUI,但我无法弄清楚如何绑定东西。
from tkinter import *
root = Tk()
def leftClick(event):
print("Left click")
frame = Frame(root,width=300,height=250).pack()
frame.bind("<Button-1>", leftClick)
root.mainloop()
但...
Traceback (most recent call last):
File "gui2.py", line 8, in <module>
frame.bind("<Button-1>", leftClick)
AttributeError: 'NoneType' object has no attribute 'bind'
要扩展eyllanesc的答案,代码应该是
frame = Frame(root,width=300,height=250)
frame.pack()
frame.bind("<Button-1>", leftClick)
通常,修改原始对象的方法(如pack
)不会返回任何内容。你的代码创建了一个Frame
对象,然后调用pack
并将输出存储在frame
中。这相当于写frame = None
。您需要先将对象存储为frame
然后进行修改。
另外,如果你感兴趣的话,在Python中用GUI开始的一个很好的包是PySimpleGUI。