如何让Tkinter按钮仅在被按住时改变背景颜色?
实现Tkinter按钮按住时变色的效果
只需给按钮绑定鼠标按下与释放的事件,分别触发背景色切换即可,修改后的代码如下:
from tkinter import * def on_press(event): # 鼠标按下时将按钮背景改为浅灰色 event.widget.config(bg='lightgray') def on_release(event): # 鼠标松开时恢复按钮背景为白色 event.widget.config(bg='white') root = Tk() root.config(bg="Black") button = Button(root, text='Ejemplo', bg='white') # 绑定鼠标左键按下和释放事件 button.bind('<ButtonPress-1>', on_press) button.bind('<ButtonRelease-1>', on_release) button.pack() root.mainloop()
关键说明:
<ButtonPress-1>对应鼠标左键按下的事件,触发on_press函数修改按钮背景色<ButtonRelease-1>对应鼠标左键松开的事件,触发on_release函数恢复原背景色- 使用
event.widget直接获取触发事件的按钮,无需单独引用按钮变量,逻辑更灵活
内容的提问来源于stack exchange,提问作者死 J4K17F0RN死
相关产品推荐
相关产品推荐

