How is it right to change the window when you press the button?



  • How do you do that when you hit the keyboard, "stop" in OCNE1, I went to OCNO2.

    And when I pressed on the keyboard, turn around in OCNE2, I went to OCNO1 And when I pressed on the keyboard, "Stop" in OCNE2, I went to OCNO3.

    And when I pressed on the keyboard, turn around in OCNE3, I went to OCNO2

    ОКНО1

    from PyQt5 import QtCore, QtGui, QtWidgets
    

    class Ui_Window1(object):
    def setupUi(self, Window1):
    Window1.setObjectName('Window1')
    Window1.resize(450, 800)
    Window1.setWindowTitle(' ')
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    Window1.setWindowIcon(icon)
    Window1.setStyleSheet('background-color: #2c2c39')
    self.Main1 = QtWidgets.QWidget(Window1)
    self.Main1.setObjectName('Main1')

        self.text_1 = QtWidgets.QLabel(self.Main1)
        self.text_1.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_1.setFont(font)
        self.text_1.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.text_1.setScaledContents(False)
    self.text_1.setAlignment(QtCore.Qt.AlignCenter)
    self.text_1.setWordWrap(False)
    self.text_1.setOpenExternalLinks(False)
    self.text_1.setObjectName('text_1')

        self.input_amount_1 = QtWidgets.QLineEdit(self.Main1)
        self.input_amount_1.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_1.setFont(font)
        self.input_amount_1.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.input_amount_1.setAlignment(QtCore.Qt.AlignCenter)
    self.input_amount_1.setObjectName('input_amount_1')

        self.but_1 = QtWidgets.QPushButton(self.Main1)
        self.but_1.setGeometry(QtCore.QRect(0, 740, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_1.setFont(font)
        self.but_1.setStyleSheet('QPushButton {\n'
    

    ' color: #ffffff;\n'
    ' background-color: #7f6a62;\n'
    ' border-radius: 0;\n'
    '}\n'
    '\n'
    '')
    self.but_1.setObjectName('but_1')

        Window1.setCentralWidget(self.Main1)
    
    
        self.retranslateUi(Window1)
        QtCore.QMetaObject.connectSlotsByName(Window1)
        
        #ПРОДОЛЖИТЬ
        self.but_1.clicked.connect(self.proceed_1)
    
    def retranslateUi(self, Window1):
        _translate = QtCore.QCoreApplication.translate
        self.but_1.setText(_translate('Window1', 'ПРОДОЛЖИТЬ'))
        self.text_1.setText(_translate('Window1', 'ОКНО 1'))
    
    #ПРОДОЛЖИТЬ
    def proceed_1(self):
        pass
    

    if name == 'main':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = QtWidgets.QMainWindow()
    ui = Ui_Window1()
    ui.setupUi(Window1)
    Window1.show()
    #QtCore.QTimer.singleShot(0, Window1.close)
    sys.exit(app.exec_())

    ОКНО2

    from PyQt5 import QtCore, QtGui, QtWidgets

    class Ui_Window2(object):
    def setupUi(self, Window2):
    Window2.setObjectName('Window2')
    Window2.resize(450, 800)
    Window2.setWindowTitle(' ')
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    Window2.setWindowIcon(icon)
    Window2.setStyleSheet('background-color: #2c2c39')
    self.Main2 = QtWidgets.QWidget(Window2)
    self.Main2.setObjectName('Main2')

        self.text_2 = QtWidgets.QLabel(self.Main2)
        self.text_2.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_2.setFont(font)
        self.text_2.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.text_2.setScaledContents(False)
    self.text_2.setAlignment(QtCore.Qt.AlignCenter)
    self.text_2.setWordWrap(False)
    self.text_2.setOpenExternalLinks(False)
    self.text_2.setObjectName('text_2')

        self.input_amount_2 = QtWidgets.QLineEdit(self.Main2)
        self.input_amount_2.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_2.setFont(font)
        self.input_amount_2.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.input_amount_2.setAlignment(QtCore.Qt.AlignCenter)
    self.input_amount_2.setObjectName('input_amount_2')

        self.but_2 = QtWidgets.QPushButton(self.Main2)
        self.but_2.setGeometry(QtCore.QRect(0, 740, 225, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        self.but_2.setFont(font)
        self.but_2.setStyleSheet('QPushButton {\n'
    

    ' color: #ffffff;\n'
    ' background-color: #7f6a62;\n'
    ' border-radius: 0;\n'
    '}\n'
    '\n'
    '')
    self.but_2.setObjectName('but_2')

        self.but_3 = QtWidgets.QPushButton(self.Main2)
        self.but_3.setGeometry(QtCore.QRect(225, 740, 225, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_3.setFont(font)
        self.but_3.setStyleSheet('QPushButton {\n'
    

    ' color: #ffffff;\n'
    ' background-color: #7f6a62;\n'
    ' border-radius: 0;\n'
    '}\n'
    '\n'
    '')
    self.but_3.setObjectName('but_3')

        Window2.setCentralWidget(self.Main2)
    
        self.retranslateUi(Window2)
        QtCore.QMetaObject.connectSlotsByName(Window2)
    
        #ВЕРНУТЬСЯ
        self.but_2.clicked.connect(self.return_1)
    
        #ПРОДОЛЖИТЬ
        self.but_3.clicked.connect(self.proceed_2)
    
    def retranslateUi(self, Window2):
        _translate = QtCore.QCoreApplication.translate
        self.but_2.setText(_translate('Window2', 'ВЕРНУТЬСЯ'))
        self.text_2.setText(_translate('Window2', 'ОКНО 2'))
        self.but_3.setText(_translate('Window2', 'ПРОДОЛЖИТЬ'))
    
    #ВЕРНУТЬСЯ
    def return_1(self):
        pass
    
    #ПРОДОЛЖИТЬ
    def proceed_2(self):
        pass
    

    if name == 'main':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window2 = QtWidgets.QMainWindow()
    ui = Ui_Window2()
    ui.setupUi(Window2)
    Window2.show()
    sys.exit(app.exec_())

    ОКНО3

    from PyQt5 import QtCore, QtGui, QtWidgets

    class Ui_Window3(object):
    def setupUi(self, Window3):
    Window3.setObjectName('Window3')
    Window3.resize(450, 800)
    Window3.setWindowTitle(' ')
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    Window3.setWindowIcon(icon)
    Window3.setStyleSheet('background-color: #2c2c39')
    self.Main3 = QtWidgets.QWidget(Window3)
    self.Main3.setObjectName('Main3')

        self.text_3 = QtWidgets.QLabel(self.Main3)
        self.text_3.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_3.setFont(font)
        self.text_3.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.text_3.setScaledContents(False)
    self.text_3.setAlignment(QtCore.Qt.AlignCenter)
    self.text_3.setWordWrap(False)
    self.text_3.setOpenExternalLinks(False)
    self.text_3.setObjectName('text_3')

        self.input_amount_3 = QtWidgets.QLineEdit(self.Main3)
        self.input_amount_3.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_3.setFont(font)
        self.input_amount_3.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.input_amount_3.setAlignment(QtCore.Qt.AlignCenter)
    self.input_amount_3.setObjectName('input_amount_3')

        self.but_4 = QtWidgets.QPushButton(self.Main3)
        self.but_4.setGeometry(QtCore.QRect(0, 740, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_4.setFont(font)
        self.but_4.setStyleSheet('QPushButton {\n'
    

    ' color: #ffffff;\n'
    ' background-color: #7f6a62;\n'
    ' border-radius: 0;\n'
    '}\n'
    '\n'
    '')
    self.but_4.setObjectName('but_4')

        Window3.setCentralWidget(self.Main3)
    
        self.retranslateUi(Window3)
        QtCore.QMetaObject.connectSlotsByName(Window3)
    
        #ВЕРНУТЬСЯ
        self.but_4.clicked.connect(self.return_2)
    
    def retranslateUi(self, Window3):
        _translate = QtCore.QCoreApplication.translate
        self.but_4.setText(_translate('Window3', 'ВЕРНУТЬСЯ'))
        self.text_3.setText(_translate('Window3', 'ОКНО 3'))
    
    #ВЕРНУТЬСЯ
    def return_2(self):
        pass
    

    if name == 'main':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window3 = QtWidgets.QMainWindow()
    ui = Ui_Window3()
    ui.setupUi(Window3)
    Window3.show()
    sys.exit(app.exec_())



  • No change in the code generated by Qt Designer,

    Create another class that inherits from the relevant view and use the established class to fill it.

    from PyQt5 import QtCore, QtGui, QtWidgets
    

    ОКНО1

    class Ui_Window1(object):
    def setupUi(self, Window1):
    Window1.setObjectName('Window1')
    Window1.resize(450, 800)
    Window1.setWindowTitle(' ')
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    Window1.setWindowIcon(icon)
    Window1.setStyleSheet('background-color: #2c2c39')
    self.Main1 = QtWidgets.QWidget(Window1)
    self.Main1.setObjectName('Main1')

        self.text_1 = QtWidgets.QLabel(self.Main1)
        self.text_1.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_1.setFont(font)
        self.text_1.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.text_1.setScaledContents(False)
    self.text_1.setAlignment(QtCore.Qt.AlignCenter)
    self.text_1.setWordWrap(False)
    self.text_1.setOpenExternalLinks(False)
    self.text_1.setObjectName('text_1')

        self.input_amount_1 = QtWidgets.QLineEdit(self.Main1)
        self.input_amount_1.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_1.setFont(font)
        self.input_amount_1.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.input_amount_1.setAlignment(QtCore.Qt.AlignCenter)
    self.input_amount_1.setObjectName('input_amount_1')

        self.but_1 = QtWidgets.QPushButton(self.Main1)
    

    740

        self.but_1.setGeometry(QtCore.QRect(0, 580, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_1.setFont(font)
        self.but_1.setStyleSheet('QPushButton {\n'
    

    ' color: #ffffff;\n'
    ' background-color: #7f6a62;\n'
    ' border-radius: 0;\n'
    '}\n'
    '\n'
    '')
    self.but_1.setObjectName('but_1')

        Window1.setCentralWidget(self.Main1)
    
    
        self.retranslateUi(Window1)
        QtCore.QMetaObject.connectSlotsByName(Window1)
        
    def retranslateUi(self, Window1):
        _translate = QtCore.QCoreApplication.translate
        self.but_1.setText(_translate('Window1', 'ПРОДОЛЖИТЬ'))
        self.text_1.setText(_translate('Window1', 'ОКНО 1'))
    

    class Ui_Window2(object):
    def setupUi(self, Window2):
    Window2.setObjectName('Window2')
    Window2.resize(450, 800)
    Window2.setWindowTitle(' ')
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    Window2.setWindowIcon(icon)
    Window2.setStyleSheet('background-color: #2c2c39')
    self.Main2 = QtWidgets.QWidget(Window2)
    self.Main2.setObjectName('Main2')

        self.text_2 = QtWidgets.QLabel(self.Main2)
        self.text_2.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_2.setFont(font)
        self.text_2.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.text_2.setScaledContents(False)
    self.text_2.setAlignment(QtCore.Qt.AlignCenter)
    self.text_2.setWordWrap(False)
    self.text_2.setOpenExternalLinks(False)
    self.text_2.setObjectName('text_2')

        self.input_amount_2 = QtWidgets.QLineEdit(self.Main2)
        self.input_amount_2.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_2.setFont(font)
        self.input_amount_2.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.input_amount_2.setAlignment(QtCore.Qt.AlignCenter)
    self.input_amount_2.setObjectName('input_amount_2')

        self.but_2 = QtWidgets.QPushButton(self.Main2)
        self.but_2.setGeometry(QtCore.QRect(0, 580, 225, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        self.but_2.setFont(font)
        self.but_2.setStyleSheet('QPushButton {\n'
    

    ' color: #ffffff;\n'
    ' background-color: #7f6a62;\n'
    ' border-radius: 0;\n'
    '}\n'
    '\n'
    '')
    self.but_2.setObjectName('but_2')

        self.but_3 = QtWidgets.QPushButton(self.Main2)
        self.but_3.setGeometry(QtCore.QRect(225, 580, 225, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_3.setFont(font)
        self.but_3.setStyleSheet('QPushButton {\n'
    

    ' color: #ffffff;\n'
    ' background-color: #7f6a62;\n'
    ' border-radius: 0;\n'
    '}\n'
    '\n'
    '')
    self.but_3.setObjectName('but_3')

        Window2.setCentralWidget(self.Main2)
    
        self.retranslateUi(Window2)
        QtCore.QMetaObject.connectSlotsByName(Window2)
    
    def retranslateUi(self, Window2):
        _translate = QtCore.QCoreApplication.translate
        self.but_2.setText(_translate('Window2', 'ВЕРНУТЬСЯ'))
        self.text_2.setText(_translate('Window2', 'ОКНО 2'))
        self.but_3.setText(_translate('Window2', 'ПРОДОЛЖИТЬ'))
    

    class Ui_Window3(object):
    def setupUi(self, Window3):
    Window3.setObjectName('Window3')
    Window3.resize(450, 800)
    Window3.setWindowTitle(' ')
    icon = QtGui.QIcon()
    icon.addPixmap(QtGui.QPixmap('icon.png'), QtGui.QIcon.Normal, QtGui.QIcon.Off)
    Window3.setWindowIcon(icon)
    Window3.setStyleSheet('background-color: #2c2c39')
    self.Main3 = QtWidgets.QWidget(Window3)
    self.Main3.setObjectName('Main3')

        self.text_3 = QtWidgets.QLabel(self.Main3)
        self.text_3.setGeometry(QtCore.QRect(0, 0, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(12)
        font.setBold(True)
        font.setWeight(75)
        self.text_3.setFont(font)
        self.text_3.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.text_3.setScaledContents(False)
    self.text_3.setAlignment(QtCore.Qt.AlignCenter)
    self.text_3.setWordWrap(False)
    self.text_3.setOpenExternalLinks(False)
    self.text_3.setObjectName('text_3')

        self.input_amount_3 = QtWidgets.QLineEdit(self.Main3)
        self.input_amount_3.setGeometry(QtCore.QRect(0, 58, 450, 40))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        font.setBold(True)
        font.setWeight(75)
        self.input_amount_3.setFont(font)
        self.input_amount_3.setStyleSheet('background-color: #edf3c8;\n'
    

    'border:2px solid#d9c7b4;\n'
    'color:#000000')
    self.input_amount_3.setAlignment(QtCore.Qt.AlignCenter)
    self.input_amount_3.setObjectName('input_amount_3')

        self.but_4 = QtWidgets.QPushButton(self.Main3)
        self.but_4.setGeometry(QtCore.QRect(0, 580, 450, 60))
        font = QtGui.QFont()
        font.setFamily('Montserrat')
        font.setPointSize(14)
        self.but_4.setFont(font)
        self.but_4.setStyleSheet('QPushButton {\n'
    

    ' color: #ffffff;\n'
    ' background-color: #7f6a62;\n'
    ' border-radius: 0;\n'
    '}\n'
    '\n'
    '')
    self.but_4.setObjectName('but_4')
    Window3.setCentralWidget(self.Main3)

        self.retranslateUi(Window3)
        QtCore.QMetaObject.connectSlotsByName(Window3)
    
    def retranslateUi(self, Window3):
        _translate = QtCore.QCoreApplication.translate
        self.but_4.setText(_translate('Window3', 'ВЕРНУТЬСЯ'))
        self.text_3.setText(_translate('Window3', 'ОКНО 3'))
    

    class Window3(QtWidgets.QMainWindow, Ui_Window3):
    def init(self, parent=None):
    super().init()
    self.setupUi(self)
    self.parent = parent

        #ВЕРНУТЬСЯ
        self.but_4.clicked.connect(self.return_2)
    
    #ВЕРНУТЬСЯ
    def return_2(self):
        self.parent.window2.show()
        self.hide()
    

    class Window2(QtWidgets.QMainWindow, Ui_Window2):
    def init(self, parent=None):
    super().init()
    self.setupUi(self)
    self.parent = parent

        #ВЕРНУТЬСЯ
        self.but_2.clicked.connect(self.return_1)
    
        #ПРОДОЛЖИТЬ
        self.but_3.clicked.connect(self.proceed_2)
    
    #ВЕРНУТЬСЯ
    def return_1(self):
        self.parent.show()
        self.hide()
    
    #ПРОДОЛЖИТЬ
    def proceed_2(self):
        self.parent.window3.show()
        self.hide()
    

    class MainWindow(QtWidgets.QMainWindow, Ui_Window1):
    def init(self):
    super().init()
    self.setupUi(self)

        #ПРОДОЛЖИТЬ
        self.but_1.clicked.connect(self.proceed_1)
        
        self.window2 = Window2(self)
        self.window3 = Window3(self)
        
    #ПРОДОЛЖИТЬ
    def proceed_1(self):
        print(f'def proceed_1(self):') # 
    

    self.window2 = Window2(self)

        self.window2.show()
        self.hide()
    

    if name == 'main':
    import sys
    app = QtWidgets.QApplication(sys.argv)
    Window1 = MainWindow()
    Window1.show()
    sys.exit(app.exec_())

    введите сюда описание изображения



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2