TKinter按钮避免双击

问题描述:

我有一个脚本,启用电源后,用户单击“开始测试”按钮后,“禁用”按钮,以避免“双击,然后我”已经注意到,“一些如何”如果用户执行“双击”我的应用程序启动第二个操作。TKinter按钮避免双击

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

这看起来并不像:

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

然后使用configure()功能在您的starttest()回调配置按钮的状态禁用按钮,看起来像在现有的按钮上创建一个新的禁用按钮 - 这仍然是处理任何排队的鼠标点击。保存对原始按钮的引用,将其状态设置为DISABLED。 – jasonharper

每次通过按固有按钮调用starttest()函数,会创建一个新的按钮小部件:这就是为什么它看起来像您可以无限期点击虚假“相同”按钮。

你应该在你的程序在其他地方创建一个按钮:

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

感谢@ Billal-BEGUERADJ它的作品,我只是有一个评论,命令应该是: –

+0

高清starttest(): 全球power_supply_btn power_supply_btn.config(状态=禁用) “的.config代替.configure” –

+0

不客气。 'config()'和'configure()'执行[same](http://effbot.org/tkinterbook/tkinter-widget-configuration.htm)。 –