Ejemplo n.º 1
0
    def __init__(self, light):
        super(LightState, self).__init__()
        self.light = light
        self.timer = QtCore.QTimer(self)
        self.timer.setInterval(1000)  # duration
        self.timer.setSingleShot(True)

        self.timing = QtCore.QState(self)
        self.timing.entered.connect(self.light.turn_on)
        self.timing.entered.connect(self.timer.start)
        self.timing.exited.connect(self.light.turn_off)

        self.done = QtCore.QFinalState(self)

        self.timing.addTransition(self.timer.timeout, self.done)

        self.setInitialState(self.timing)
        self.setObjectName('state')
        self.addTransition(self.finished, self)
Ejemplo n.º 2
0
    def __init__(self, parent=None):
        super().__init__(parent)
        global com
        com = Communicate()

        self.opc = opc.opc.Server()
        com.opc = self.opc

        self.form = menu.mainform.MainForm(self.opc)
        com.form = self.form
        self.form.closeEvent = self.closeEvent
        self.form.mnu_main.btnQuit.clicked.connect(self.form.close)
        self.form.showMaximized()

        self.stm = QtCore.QStateMachine()

        self.init_menu = InitMenu(self.stm)
        self.menu_main = MenuMain(self.stm)
        self.menu_iu = MenuIU(self.stm)
        self.iu_pe_select = IuPeSelect(self.stm)
        self.iu_pe = exam_iu.exam_iu_pe.ExamIuPe(self.stm, self.opc, self.form)
        self.iu_dp_select = IuPeSelect(self.stm)
        self.iu_dp = exam_iu.exam_iu_dp.ExamIUDP(self.stm, self.opc, self.form)
        self.iu_auth = IuAuth(self.stm)
        self.iu_select = IuSelect(self.stm)
        self.exam_iu_old = ExamIU(self.stm, self.opc, self.form)
        self.exam_iu = ExamIU2(self.stm, self.opc, self.form)

        self.menu_bu = MenuBU(self.stm)
        self.bu_auth = BuAuth(self.stm)
        self.bu_select = BuSelect(self.stm)
        self.reset_check_bu = ResetCheckBu(self.stm)
        self.check_bu = CheckBU(self.stm)

        self.exam_bu = Exam_bu(self.stm, self.opc, self.form)
        com.exam_bu = self.exam_bu
        self.bu_ai_tune = BuAiTune(self.stm, self.opc, self.form)
        self.bu_select_2 = BuSelect(self.stm)
        self.bu_rt_tune = BuRtTune(self.stm)
        self.disconnect_bu = self.exam_bu.disconnect_bu

        self.bu_prepare = BuPrepare(self.stm)
        self.bu_prepare_r = BuPrepareR(self.stm)
        self.bu_di = BuDi(self.stm)
        self.bu_di_r = BuDiR(self.stm)
        self.bu_ai = BuAi(self.stm)
        self.bu_fi = BuFi(self.stm)
        self.bu_fi_r = BuFiR(self.stm)
        self.bu_rt = BuRt(self.stm)
        self.bu_shim = BuShim(self.stm)
        self.bu_shim_r = BuShimR(self.stm)
        self.bu_protocol = self.exam_bu.protocol

        self.exam_bp = ExamBp(self.stm, self.opc, self.form)

        self.state_close = QtCore.QFinalState(self.stm)

        self.stm.setInitialState(self.init_menu)

        self.init_menu.addTransition(self.init_menu.success, self.menu_main)
        self.menu_main.addTransition(self.form.mnu_main.btnIU.clicked,
                                     self.iu_auth)
        self.menu_main.addTransition(self.form.mnu_main.btnIUTune.clicked,
                                     self.menu_iu)
        self.menu_iu.addTransition(self.form.btnPanel.btnBack.clicked,
                                   self.menu_main)
        self.menu_iu.addTransition(self.form.mnu_iu.btn_iu_pe_tune.clicked,
                                   self.iu_pe_select)
        self.iu_pe_select.addTransition(self.form.select_iu.btn_ok, self.iu_pe)
        self.iu_pe_select.addTransition(self.form.btnPanel.btnBack.clicked,
                                        self.menu_iu)
        self.menu_iu.addTransition(self.form.mnu_iu.btn_iu_dp_tune.clicked,
                                   self.iu_dp_select)
        self.iu_dp_select.addTransition(self.form.select_iu.btn_ok, self.iu_dp)
        self.iu_dp_select.addTransition(self.form.btnPanel.btnBack.clicked,
                                        self.menu_iu)
        self.iu_pe.addTransition(self.iu_pe.finished, self.menu_iu)
        self.iu_dp.addTransition(self.iu_dp.finished, self.menu_iu)
        self.iu_auth.addTransition(self.form.btnPanel.btnBack.clicked,
                                   self.menu_main)
        self.iu_auth.addTransition(self.form.auth.btn_ok, self.iu_select)
        self.iu_select.addTransition(self.form.btnPanel.btnBack.clicked,
                                     self.menu_main)
        self.iu_select.addTransition(self.form.select_iu.btn_ok, self.exam_iu)
        self.exam_iu.addTransition(self.exam_iu.finished, self.menu_main)

        self.menu_main.addTransition(self.form.mnu_main.btnBUTune.clicked,
                                     self.menu_bu)
        self.menu_bu.addTransition(self.form.btnPanel.btnBack.clicked,
                                   self.menu_main)
        self.menu_main.addTransition(self.form.mnu_main.btnBU.clicked,
                                     self.bu_auth)
        self.bu_auth.addTransition(self.form.btnPanel.btnBack.clicked,
                                   self.menu_main)
        self.bu_auth.addTransition(self.form.auth.btn_ok, self.bu_select)
        self.bu_select.addTransition(self.form.btnPanel.btnBack.clicked,
                                     self.menu_main)
        self.bu_select.addTransition(self.form.select_bu.btn_ok,
                                     self.reset_check_bu)
        self.reset_check_bu.addTransition(self.check_bu)
        self.check_bu.addTransition(self.form.btnPanel.btnBack.clicked,
                                    self.disconnect_bu)
        self.disconnect_bu.addTransition(self.menu_main)
        self.exam_bu.addTransition(self.exam_bu.finished, self.check_bu)

        self.check_bu.addTransition(self.form.check_bu.btn_prepare.clicked,
                                    self.bu_prepare)
        self.bu_prepare.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_prepare_r.clicked,
                                    self.bu_prepare_r)
        self.bu_prepare_r.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_di.clicked,
                                    self.bu_di)
        self.bu_di.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_di_r.clicked,
                                    self.bu_di_r)
        self.bu_di_r.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_ai.clicked,
                                    self.bu_ai)
        self.bu_ai.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_fi.clicked,
                                    self.bu_fi)
        self.bu_fi.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_fi_r.clicked,
                                    self.bu_fi_r)
        self.bu_fi_r.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_rt.clicked,
                                    self.bu_rt)
        self.bu_rt.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_shim.clicked,
                                    self.bu_shim)
        self.bu_shim.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_shim_r.clicked,
                                    self.bu_shim_r)
        self.bu_shim_r.addTransition(self.exam_bu)
        self.check_bu.addTransition(self.form.check_bu.btn_protocol.clicked,
                                    self.bu_protocol)
        self.bu_protocol.addTransition(self.form.btnPanel.btnOk.clicked,
                                       self.disconnect_bu)
        self.bu_protocol.addTransition(self.form.btnPanel.btnBack.clicked,
                                       self.disconnect_bu)

        self.menu_bu.addTransition(self.form.mnu_bu.btn_bu_ai_tune.clicked,
                                   self.bu_select_2)
        self.bu_select_2.addTransition(self.form.btnPanel.btnBack.clicked,
                                       self.menu_bu)
        self.bu_select_2.addTransition(self.form.select_bu.btn_ok,
                                       self.bu_ai_tune)
        self.bu_ai_tune.addTransition(self.bu_ai_tune.finished, self.menu_bu)

        self.menu_bu.addTransition(self.form.mnu_bu.btn_bu_ai_3_tune.clicked,
                                   self.bu_rt_tune)
        self.bu_rt_tune.addTransition(self.bu_rt_tune.finished, self.menu_bu)

        self.menu_main.addTransition(self.form.mnu_main.btnBP.clicked,
                                     self.exam_bp)
        self.exam_bp.addTransition(self.exam_bp.finished, self.menu_main)

        self.bu_dp_select_iu = IuSelect(self.stm)
        self.bu_dp_select_bu = BuSelect(self.stm)
        self.tune_bu_dp = TuneBuDp(self.stm, self.opc, self.form)

        self.menu_bu.addTransition(self.form.mnu_bu.btn_bu_dp.clicked,
                                   self.bu_dp_select_iu)
        self.bu_dp_select_iu.addTransition(self.form.btnPanel.btnBack.clicked,
                                           self.menu_bu)
        self.bu_dp_select_iu.addTransition(self.form.select_iu.btn_ok,
                                           self.bu_dp_select_bu)
        self.bu_dp_select_bu.addTransition(self.form.btnPanel.btnBack.clicked,
                                           self.menu_bu)
        self.bu_dp_select_bu.addTransition(self.form.select_bu.btn_ok,
                                           self.tune_bu_dp)
        self.tune_bu_dp.addTransition(self.tune_bu_dp.finished, self.menu_bu)

        self.opc.started.connect(self.stm.start)
        self.opc.start()
Ejemplo n.º 3
0
layout = QtWidgets.QVBoxLayout(window)
layout.addWidget(label)
layout.addWidget(button1)
layout.addWidget(quitbutton)
layout.setAlignment(QtCore.Qt.AlignTop)

window.setMinimumSize(300, 400)
window.show()

s1 = QtCore.QState()
s11 = QtCore.QState(s1)
s12 = QtCore.QState(s1)
s13 = QtCore.QState(s1)
s2 = QtCore.QState()
s3 = QtCore.QFinalState()

s11.assignProperty(label, "text", "Welcome")
s12.assignProperty(label, "text", "Processing..")
s13.assignProperty(label, "text", "Finished")

s2.assignProperty(label, "text", "Quitting..")

s11.addTransition(button1.clicked, s12)
s12.addTransition(button1.clicked, s13)
s13.addTransition(button1.clicked, s11)
s1.addTransition(quitbutton.clicked, s2)
s2.addTransition(s2.entered, s3)  # Transient
s12.addTransition(quitbutton.clicked, s12)