在某些情况下不应用按钮背景色配置

2024-10-01 17:29:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个特定的图形用户界面,其中包括一个按钮。在满足某些条件之前,此按钮处于禁用状态。当用户单击此按钮时,我调用一个函数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>按键事件上也有相同的背景颜色


Tags: 函数selfconfigreturn颜色def条件按钮

热门问题