我刚接触Python编程。 我正在尝试制作一个带有可停止线程的GUI界面。 我借鉴了一些代码,来自 https://dev59.com/wXRC5IYBdhLWcg3wW_pk#325528
class MyThread(threading.Thread):
"""Thread class with a stop() method. The thread itself has to check
regularly for the stopped() condition."""
def __init__(self, *args, **kwargs):
super(MyThread, self).__init__(*args, **kwargs)
self._stop = threading.Event()
def stop(self):
self._stop.set()
def stopped(self):
return self._stop.isSet()
我有一个函数,它创建了一个线程来运行另一个类中的函数,该函数运行一个无限循环。
class MyClass :
def clicked_practice(self):
self.practicethread = MyThread(target=self.infinite_loop_method)
self.practicethread.start()
def infinite_loop_method()
while True :
// Do something
#This doesn't seem to work and I am still stuck in the loop
def infinite_stop(self)
if self.practicethread.isAlive():
self.practicethread.stop()
我想创建一个方法来停止这个线程。 这里发生了什么?
while True: \n\t if not threadObject.stopped():
。第一次看到有人为此浪费了一个完整的缩进级别,我感到非常震惊。 - Adrian