【发布时间】:2018-08-15 22:29:16
【问题描述】:
我有一个带有一组按钮的小 gui,当按下按钮时会调用几个函数,这大约需要 30 秒才能完成,所以 Gui 冻结了,在这里搜索了很多修复后,我找到了一种方法这样做,它似乎在大多数情况下都可以正常工作,当我运行脚本时它确实可以工作,但是在运行几分钟后它就停止工作了
这是一个带有 1 个参数的简单函数,该参数是另一个函数的名称。
def prueba(fcn):
thread.start_new_thread (fcn,())
这是按钮的代码:
button = Tkinter.Button(self,text=u"Irrelevant text",command= lambda: prueba(functionName))
button.grid(column=0,row=3)
button = Tkinter.Button(self,text=u"Irrelevant text",command= lambda: prueba(functionName))
button.grid(column=0,row=4)
button = Tkinter.Button(self,text=u"Irrelevant text",command= lambda: prueba(functionName))
button.grid(column=0,row=5)
button = Tkinter.Button(self,text=u"Irrelevant text",command= lambda: prueba(functionName))
button.grid(column=1,row=3)
button = Tkinter.Button(self,text=u"Irrelevant text",command= lambda: prueba(functionName))
button.grid(column=1,row=4)
button = Tkinter.Button(self,text=u"Irrelevant text",command= lambda: prueba(functionName))
button.grid(column=1,row=5)
这是一段时间后单击按钮时控制台显示的内容。
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python27\lib\lib-tk\Tkinter.py", line 1541, in __call__
return self.func(*args)
File "***", line 354, in <lambda>
button = Tkinter.Button(self,text=u"Irrelevant Text",command= lambda: prueba(functionName))
TypeError: 'bool' object is not callable
【问题讨论】:
-
请提供一个可测试的例子。可以复制并按原样运行的东西会得到相同的错误。
-
请提供minimal reproducible example。这将帮助您理解问题,在您完全理解问题之前,您很难向我们描述问题。
标签: multithreading python-2.7 selenium button tkinter