1

QTimer を使用してステート マシンを作成する GUI を作成しようとしていますが、GUI ウィンドウを閉じるたびにタイマーが継続します。Qtimer を作成するオブジェクトを GUI の子に適切に作成していると思いますが、私が見ている動作ではそうではないようです。ここにいくつかのコードがあります

class Ui_Form(QtGui.QWidget):
    def __init__(self):
        super(Ui_Form, self).__init__()
        self.backEnd = BackEnd(self)
        self.backEnd.start()


class BackEnd(QtCore.QObject):
    def __init__(self,parent=None):
        super(BackEnd,self).__init__(parent)
        self.setParent(parent)
        self.timer = QtCore.QTimer()
        self.timer.setSingleShot(True)
        QtCore.QObject.connect(self.timer, QtCore.SIGNAL("timeout()"), self.timerHandler)


    def timerHandler(self):
        print "Im here"
        self.timer.start(1000)

    def start(self):
        self.timer.start(1000)

    def stop(self):
        self.timer.stop()

if __name__ == "__main__":
    import sys
    app = QtGui.QApplication(sys.argv)
    Form = QtGui.QWidget()
    ui = Ui_Form()
    ui.setupUi(Form)
    Form.show()
    sys.exit(app.exec_())
4

1 に答える 1