在某些情况下,按钮背景颜色配置未应用

时间:2018-09-16 14:55:16

标签: python python-3.x tkinter

我有一个包含按钮的特定GUI。除非满足某些条件,否则此按钮将被禁用。当用户单击此按钮时,我将调用函数onBurnClick,该函数将执行一些操作,并在完成时在后台验证某些内容。如果验证是肯定的,我将button2的背景涂成绿色,如果否定,则将这个按钮的背景涂成红色。

此功能也绑定到<Return>键。但是由于某些原因,只有当我单击按钮时,在过程结束时才能看到背景色。按下<Return>键,除按钮背景色以外的所有操作都将完成。

顺便说一句,我必须将重点放在button2上,以使绑定成功。我将焦点设置为与激活button2相同的条件。

class Second_Screen(tk.Frame):
    def __init__(self, parent, controller):
        tk.Frame.__init__(self,parent)
        self.button2 = tk.Button(self.main_frame, text="Burn",
                            command=lambda: self.onBurnClick(),
                            font=self.Button_Font_Style1, bd=5)
        self.button2.grid(row=3, columnspan=2, pady=(20,0))

        self.button2.bind("<Return>", self.onBurnClick)

   def onBurnClick(self, event=None):           
        if some_conditions:
            self.button2.config(bg='springgreen2')
            self.after(3000, self.return2default)
        else:
            self.button2.config(bg='red2')

   def return2default(self):
       self.button2.config(bg='SystemButtonFace')

要在<Return>键按下事件上也具有相同的背景色,我该怎么办?

0 个答案:

没有答案