在漫长的任务中,禁用的按钮仍然可以捕捉点击。在长任务期间,按钮是灰色的,但如果您在长任务期间单击它,则在长任务完成后会触发单击事件。例如def onClick(self, evt): self.btn.Disable() for i in range (1000): print i self.btn.Enable()Button 在执行长for循环之前禁用自身,但是如果我们在 for 循环期间单击按钮,它将再次启动 for 循环,因为它在 for 循环完成后再次调用onClick函数。知道如何禁用点击事件吗?
3 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
老实说,我并没有真正明白你在问什么。
您的代码工作如下:
当你点击按钮时,按钮(即self.btn)被禁用
它将保持禁用状态并执行 for 循环
执行完 for 循环后,按钮会恢复活动状态
如果您想禁用该按钮,您应该在 onclick 事件之外执行此操作。例如:
self.btn.Disable() # This will grey out the button, you can't click it, so the following onClick function wouldn't be triggered
def onClick(self, evt):
# do something
如果您想使用按钮触发任务执行,并在任务执行过程中禁用触发任务的按钮,最好的方法是使用多线程。
添加回答
举报
0/150
提交
取消