python的tkinter按钮颜色变化没有得到更新

时间:2015-06-05 07:24:37

标签: python user-interface tkinter

我正在编写一个小程序,当点击一个按钮时,标签的颜色变为绿色(默认情况下它是红色),并在一段时间后恢复为红色。使用time.sleep()并不起作用。

The code that I have already tried is:
    def change():
        label1.configure( bg ='green')
        #problem comes here ...
        label1.configure ( bg ='red')

    # label1 is defined here..........

    change()  #doesn't work......

以上如何运作?

1 个答案:

答案 0 :(得分:1)

我怀疑你没有在update_idletasks()内调用update()change(),所以Tkinter在变回之前永远不会有机会重新标记不同颜色的标签

正如patthoyts在评论中提到的,更好的方法是使用after()方法,它允许你注册一个在给定的毫秒数后调用的回调函数。 / p>