如何在python中通过另一个线程杀死Thread?

时间:2017-03-06 13:03:22

标签: python multithreading pyqt pyqt4 kill

我创建了一个程序,它有两个类,BookPage类显示窗口(使用PYQT4制作),另一个类(RfidThreadClass)执行忙等待循环。

现在我希望使用stop()方法在Bookpage类中停止创建线程,但它不起作用。

class BookPage(QtGui.QMainWindow, UiBookInput):
    def __init__(self, parent=None):
        QMainWindow.__init__(self, parent)
        self.window = None
        self.threadclass = RfidThreadClass()
        self.threadclass.start()
        self.setupUi(self)



    def cancel_form(self):
        # self.moveToThread(self.threadclass)
        self.threadclass.stop()
        self.window = Cancel(prev=BookPage())
        QtGui.QMainWindow.close(self)
        self.window.show_form()
        self.window.show()





class RfidThreadClass(QtCore.QThread):
    def __init__(self, parent=None):
        super(RfidThreadClass, self).__init__(parent)
        self.state = True
    def stop(self):
        self.state = False

    def run(self):
        while self.state:
            # some statment

0 个答案:

没有答案