是否有一种最佳做法可以让tkinter按钮在选中时暂时改变颜色(这样用户就会获得按下该按钮的视觉反馈)。
我已经读过在tkinter GUI中使用time.sleep()
不是一个好主意。
当按下我的按钮时,代码发生得太快,即使我有button.config()
命令来改变颜色,也不会在不使用time.sleep()
的情况下发生
有什么建议吗?
答案 0 :(得分:0)
您可以在点击后更改颜色,然后在经过一段时间后使用after
方法将颜色重置为原始颜色
import tkinter as tk
def reset_color():
bt['fg'] = 'black'
def clickme():
print('clicked')
bt['fg'] = 'red'
root.after(2000, reset_color) # after 2 seconds
root = tk.Tk()
bt = tk.Button(root, text='will color for a while\nafter clicked', command=clickme)
bt.pack()
root.mainloop()
答案 1 :(得分:0)
我认为这可能是您想要的:
Button(background=normal_color, foreground=text_color,
activebackground=pressed_color, activeforeground=pressed_text_color)
按下按钮后,此按钮将从normal_color
变为pressed_color
。
这实际上是一个简单的问题,有一个简单的答案,但我也必须四处寻找。最后,通过阅读http://effbot.org/tkinterbook/button.htm找到了这个答案。