Make a colour blink
MRAB
python at mrabarnett.plus.com
Fri Oct 10 15:24:01 EDT 2014
On 2014-10-10 19:51, cruzud at gmail.com wrote:
> Hello. I'm trying to make a colour blink when an event occurs.
> But the program is displaying only the last colour:
>
> self.bttn.bind('<ButtonRelease-Return>',blink)
>
> def blink(self, event=None):
> lbl['background'] = 'red'
> sleep(0.5)
> lbl.['background'] = 'SystemButtonFace'
>
> Can you help?
>
You shouldn't use sleep like that because it'll block the event loop.
Instead, you should use a timed callback that will reset the colour
after a certain amount of time has elapsed, something like this
(untested):
def blink(self, event=None):
lbl['background'] = 'red'
# Assuming that 'main_window' is the main window...
main_window.after(500, reset_color) # Time in milliseconds.
def reset_color():
lbl.['background'] = 'SystemButtonFace'
Have a look here:
http://effbot.org/tkinterbook/widget.htm
More information about the Python-list
mailing list