最も簡単な解決策は、独自のカスタムボタンクラスを作成し、そのクラスにビヘイビアを追加することです。
after
を使用すると、一定の時間が経過しても色が復元されるように設定できます。例えば
:
は
class CustomButton(tk.Button):
def __init__(self, *args, **kwargs):
self.altcolor = kwargs.pop("altcolor", "pink")
tk.Button.__init__(self, *args, **kwargs)
self.bind("<ButtonPress>", self.twinkle)
def twinkle(self, event):
# get the current activebackground...
bg = self.cget("activebackground")
# change it ...
self.configure(activebackground=self.altcolor)
# and then restore it after a second
self.after(1000, lambda: self.configure(activebackground=bg))
あなたは他のあらゆるButton
のようにそれを使用します。新たに1つの新しい引数であるaltcolor
が使用されます。これは使用する余分な色です:
b1 = CustomButton(root, text="Click me!", altcolor="pink")
b2 = CustomButton(root, text="No, Click me!", altcolor="blue")
素晴らしい解決策!私は次回にkwargs.pop()メソッドを覚えておく必要があります – scotty3785
ありがとう!魅力的な作品! – DowinskiField