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_())