Распечатать qt экраны по порядку - PullRequest
0 голосов
/ 17 октября 2019

Я хочу распечатать функции, которые запускают окно qt по порядку. Экран «HELLO» должен появиться перед пометкой карты nfc. Если я отмечу nfc, должен появиться экран «NFC». После пометки nfc должен появиться экран «ВЫБРАТЬ». Но теперь появляются сразу три экрана.

import sys # из потокового таймера импорта

from PyQt5 import QtWidgets
from PyQt5 import uic
from PyQt5.QtCore import pyqtSlot
#import Dgym_exericse
#import Dgym_select_m
#import Dgym_select_e
#import cv2
import resource_rc
import serial
from socket import *
import time

class NFC(QtWidgets.QDialog):
    def __init__(self, parent=None):
        QtWidgets.QDialog.__init__(self, parent)
        self.ui = uic.loadUi("/home/dgym/PycharmProjects/mr_2019/NFC.ui", self)
        self.ui.show()

        res = self.serialtest()

        if res:
            self.Open_HELLO()
            self.mw_HELLO.ui.label_4.setText(res)
            self.Open_CHOOSE()

    def Open_HELLO(self):
        self.mw_HELLO = HELLO()
        self.mw_HELLO.show()

    def Open_CHOOSE(self):
        self.mw_CHOOSE = CHOOSE()
        self.mw_CHOOSE.show()

    def serialtest(self):
        HOST = "192.168.0.10"
        PORT = 8702
        c = socket(AF_INET, SOCK_STREAM)
        c.connect((HOST, PORT))
        ser = serial.Serial(port="/dev/ttyUSB3", baudrate=9600)

        if ser.readable():
            res = ser.readline()
            a = res.decode("utf-8")[: len(res) - 2]
            c.send(a.encode())

            u = str(c.recv(8000)).decode("utf-8")  # Wait for data
            print(u + "1")
            c.close()
            return u


class HELLO(QtWidgets.QDialog):
    def __init__(self, parent=None):
        QtWidgets.QDialog.__init__(self, parent)
        self.ui = uic.loadUi("/home/dgym/PycharmProjects/mr_2019/HELLO.ui", self)


    def Open_CHOOSE(self):
        self.mw_CHOOSE = CHOOSE()
        self.mw_CHOOSE.show()


class CHOOSE(QtWidgets.QDialog):

    def __init__(self, parent=None):
        QtWidgets.QDialog.__init__(self, parent)
        self.ui = uic.loadUi("/home/dgym/PycharmProjects/mr_2019/CHOOSE.ui", self)
        self.ui.show()

if __name__ == "__main__":
    app = QtWidgets.QApplication(sys.argv)
    mw_NFC = NFC()
    mw_NFC.show()
    sys.exit(app.exec_())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...