import tkinter
from itertools import cycle
class BlinkMessage(tkinter.Message):
def __init__(self, *args, **kwargs):
self._ms = kwargs.pop('ms', 500)
super().__init__(*args, **kwargs)
self._blink_color = cycle([self['fg'], self['bg']])
self._blink()
def _blink(self):
self['fg'] = next(self._blink_color)
self.after(self._ms, self._blink)
А потом уже у себя вместо
tkinter.Message
использовать этот
BlinkMessage
:
cont_text = BlinkMessage(root, text=mesaja, justify=CENTER, width=root.winfo_screenwidth(), bg="#e6e7e8",
font=("Arial Narrow", 80, "bold"), fg="#231f20")
Плюс теперь есть опциональный параметр
ms
, который задаёт интервал смены цвета в миллисекундах:
cont_text = BlinkMessage(root, text=mesaja, justify=CENTER, width=root.winfo_screenwidth(), bg="#e6e7e8",
font=("Arial Narrow", 80, "bold"), fg="#231f20", ms=350)