Tkinter bind 错误
from tkinter import *
root=Tk()
def m(event):
b.config(background="lime")
def n(event):
b.config(background="orchid")
b=Button(root,text="近期大暴雨").pack()
b.bind("<Enter>",m)
b.bind("<Leave>",n)
mainloop()
如何绑定啊? 你好!看起来你在使用 Tkinter 绑定事件时遇到了问题。主要问题有两个:
1. 你的事件绑定字符串是空的,应该指定具体的事件(比如鼠标进入或离开按钮)。
2. 使用 b=Button(...).pack() 会导致 b 被赋值为 None,因为 pack() 方法返回的是 None。这会导致后续的绑定操作失效。
以下是修正后的代码:
from tkinter import *
root = Tk()
def m(event):
b.config(background="lime")
def n(event):
b.config(background="orchid")
b = Button(root, text="近期大暴雨")
b.pack()
b.bind("<Enter>", m) # 鼠标进入按钮时触发
b.bind("<Leave>", n) # 鼠标离开按钮时触发
mainloop()
主要修改点:
- 将 b=Button(...).pack() 拆分为两行,先创建按钮再布局。
- 为 bind 方法指定了具体的事件:<Enter>(鼠标进入)和 <Leave>(鼠标离开)。
这样修改后,当鼠标移动到按钮上时,按钮背景会变为绿色(lime);当鼠标离开时,会变为紫色(orchid)。希望这对你有帮助!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
from tkinter import *
root = Tk()
def m(event):
b.config(background="lime")
def n(event):
b.config(background="orchid")
b = Button(root, text="近期大暴雨")
b.pack()
b.bind("<Enter>", m) # 鼠标进入按钮时触发
b.bind("<Leave>", n) # 鼠标离开按钮时触发
mainloop()
谢谢你{:10_256:}
另外提醒一个以后一定会遇到的问题,bind传参要用lambda ,可以上网详细了解 某一个“天” 发表于 2025-8-23 09:49
谢谢你
另外提醒一个以后一定会遇到的问题,bind传参要用lambda ,可以上网详细了解
好哒,谢谢 某一个“天” 发表于 2025-8-23 09:49
谢谢你
另外提醒一个以后一定会遇到的问题,bind传参要用lambda ,可以上网详细了解
**
页:
[1]