我有以下问题:
我有一个有两个按钮的图形用户界面:“运行”和“停止”。在
当我按下“运行”按钮时,将执行功能a。在
我如何通过按“停止”按钮来停止执行,而不使用任何if语句?在函数a中,有大量的数学计算,所以如果我只将函数a内部的代码与一个循环绑定,并在每次循环过程中检查一次,如果按下“停止”按钮,这将花费太多时间。在
我想现在就停止函数a的执行,而不是在整个计算完成后。例如,在函数内部用try/catch来边界代码,但是在函数外部引发异常,那么我可以随时停止函数的执行,直到if语句被调用为止。我已经准备好用一个线程来解决这个问题,但是它不起作用,因为我不知道如何启动一个线程,并将一些参数提交给自定义线程类。在
这里有一个小Python,它应该显示我的意思:class GUI():
def __init__(self):
#Initialization of Button "Run",connect Button "Run" to function a
#Initialization of Button "Stop",connect Button "Stop" to function b
def a(self):
"""calculation of a ton of mathematical stuff, can take MORE THAN
FIVE MINUTES to be finished, could be grouped in
individual functions to border the function-calls with try/catch,
but would be inefficient and inelegant"""
pass
def b(self):
"""Should stop the execution of function a immediately """