TKinter按钮避免双击

时间:2017-08-04 02:00:05

标签: python-3.x tkinter

我有一个脚本,用户点击"只有一次" " START TEST"按钮,之后,我禁用按钮以避免双击,但是,我注意到"一些如何"如果用户执行"双击"我的应用程序启动第二个操作。

def starttest():
    Button(main, text="START TEST", font=("Tahoma", 21), height=1, width=24, 
    command=starttest, state=DISABLED).place(x=55,y=40)
    PS = serial.Serial('COM1', 9600, timeout=.1)
    ##my code here ... 

有谁知道我该怎么做才能防止这种情况发生?

1 个答案:

答案 0 :(得分:1)

每次通过按固有按钮调用starttest()功能时,都会创建一个新的按钮小部件:这就是为什么您可以无限期地点击错误地&# 34;相同的"按钮。

您应该在程序中的其他位置创建该按钮:

...
power_supply_btn = Button(... text="START TEST", command=starttest ...)
power_supply_btn.place(x=55,y=40)
...

然后使用configure()功能在starttest()回调中配置该按钮的状态:

def starttest():
   global power_supply_btn
   power_supply_btn.configure(state=DISABLED)