T
Class QStackedWidget provides the glass of view,
in which there is only one view at the same time. More https://doc.qt.io/qt-5/qstackedwidget.html#details Set up the main window-- MainWindow♪Create a central view... self.centralWidget = QWidget()♪Established self.stack = QStackedWidget()♪
which is placed with a central view hbox.addWidget(self.stack)♪All right, let's go with the look index that we'll show-- self.stack.setCurrentIndex(1)♪main.pyimport sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import *
from Apex import Ui_MainWindow
#from weaponsUI import Ui_other
class Ui_other(object):
def setupUi(self, other):
other.setObjectName("other")
other.resize(610, 683)
other.setMinimumSize(QtCore.QSize(0, 0))
other.setStyleSheet("background-color: #22222e")
self.centralwidget = QtWidgets.QWidget(other)
self.centralwidget.setStyleSheet("background-color: #000000")
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setText("")
self.label.setPixmap(QtGui.QPixmap("hqdefault.jpg"))
self.label.setPixmap(QtGui.QPixmap("im.png").scaled(200, 200)) # !? scaled
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
#-? self.verticalLayout.addWidget(self.label)
self.wedom = QtWidgets.QPushButton(self.centralwidget)
self.wedom.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.wedom.setObjectName("wedom")
self.verticalLayout.addWidget(self.wedom)
self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_4.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_4.setObjectName("pushButton_4")
self.verticalLayout.addWidget(self.pushButton_4)
self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_7.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_7.setObjectName("pushButton_7")
self.verticalLayout.addWidget(self.pushButton_7)
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_3.setObjectName("pushButton_3")
self.verticalLayout.addWidget(self.pushButton_3)
self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_5.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_5.setObjectName("pushButton_5")
self.verticalLayout.addWidget(self.pushButton_5)
self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_6.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_6.setObjectName("pushButton_6")
self.verticalLayout.addWidget(self.pushButton_6)
self.back = QtWidgets.QPushButton(self.centralwidget)
self.back.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.back.setObjectName("back")
self.verticalLayout.addWidget(self.back)
self.gridLayout.addLayout(self.verticalLayout, 10, 1, 1, 1)
self.gridLayout.addLayout(self.verticalLayout, 2, 1, 1, 1)
self.horizontalLayout = QtWidgets.QHBoxLayout()
self.horizontalLayout = QtWidgets.QVBoxLayout() # + QVBoxLayout
self.horizontalLayout.setObjectName("horizontalLayout")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily("Arial Black")
font.setPointSize(24)
font.setBold(True)
font.setWeight(75)
self.label_2.setFont(font)
self.label_2.setStyleSheet("background-color: #000000;\n"
"border: 2px solid #B8860B;\n"
"border-radius: 30;\n"
"color: white")
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.horizontalLayout.addWidget(self.label_2)
self.horizontalLayout.addWidget(self.label) # +++
self.gridLayout.addLayout(self.horizontalLayout, 0, 1, 2, 1)
self.gridLayout.addLayout(self.horizontalLayout, 0, 1, 1, 1)
other.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(other)
self.menubar.setGeometry(QtCore.QRect(0, 0, 610, 21))
self.menubar.setObjectName("menubar")
other.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(other)
self.statusbar.setObjectName("statusbar")
other.setStatusBar(self.statusbar)
self.retranslateUi(other)
QtCore.QMetaObject.connectSlotsByName(other)
def retranslateUi(self, other):
_translate = QtCore.QCoreApplication.translate
other.setWindowTitle(_translate("other", "MainWindow"))
self.wedom.setText(_translate("other", "Ведомый(Wigman)"))
self.pushButton_4.setText(_translate("other", "Re-45 Auto"))
self.pushButton_7.setText(_translate("other", "p2020"))
self.pushButton_3.setText(_translate("other", "Ищейка (Prowler Burst PDW)"))
self.pushButton_5.setText(_translate("other", "Сменщик (Alternator SMG)"))
self.pushButton_6.setText(_translate("other", "R-99"))
self.back.setText(_translate("other", "Назад"))
self.label_2.setText(_translate("other", "Оружие"))
#from wedomiy import Ui_MainWindow1
class Ui_MainWindow1(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(494, 691)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setStyleSheet("background-color: #000000")
self.centralwidget.setObjectName("centralwidget")
self.horizontalLayout_3 = QtWidgets.QHBoxLayout(self.centralwidget)
self.horizontalLayout_3.setObjectName("horizontalLayout_3")
self.verticalLayout = QtWidgets.QVBoxLayout()
self.verticalLayout.setObjectName("verticalLayout")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setText("")
self.label.setPixmap(QtGui.QPixmap("Ok.png")) # wedomiy.png
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
self.verticalLayout.addWidget(self.label)
self.opisanieWed = QtWidgets.QLabel(self.centralwidget)
self.opisanieWed.setStyleSheet("background-color: #708090;\n"
"color: black")
self.opisanieWed.setText('')
self.opisanieWed.setObjectName("opisanieWed")
self.verticalLayout.addWidget(self.opisanieWed)
self.horizontalLayout_3.addLayout(self.verticalLayout)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 494, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setStyleSheet("")
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
W <---
class Wedomi(QtWidgets.QMainWindow, Ui_MainWindow1): # + Ui_MainWindow1
def init(self):
super(Wedomi, self).init()
self.wedomiy = Ui_MainWindow1()
self.setupUi(self) # +
class Weapon(QtWidgets.QMainWindow, Ui_other): # + Ui_other
def init(self):
super(Weapon, self).init()
self.weaponsUI = Ui_other()
self.setupUi(self) # -
#- self.back.clicked.connect(self.gotomain)
#- self.wedom.clicked.connect(self.gotowedomi)
def gotomain(self):
#application = ApexHelper()
widget.addWidget(application) #ДОБАВИЛ ВИДЖЕТ ТУТ И НИЖЕ - даёт возможность перейти на 1 слайд
widget.setCurrentIndex(widget.currentIndex()+1)
def gotowedomi(self): # направить на класс описания пушки wedomi
application2 = wedomi() # экземпляр класса ведомый
widget.addWidget(application2)
widget.setCurrentIndex(widget.currentIndex()+1)
class ApexHelper(QtWidgets.QMainWindow, Ui_MainWindow): # + Ui_MainWindow
def init(self, parent=None):
super(ApexHelper, self).init(parent)
self.Apex = Ui_MainWindow()
self.setupUi(self) # +
class MainWindow(QtWidgets.QMainWindow):
def init(self):
super().init()
self.centralWidget = QWidget()
self.setCentralWidget(self.centralWidget)
self.apexHelper = ApexHelper(self)
self.apexHelper.weapon.clicked.connect(self.gotoWeapon)
self.weapon = Weapon()
self.weapon.back.clicked.connect(self.gotomain)
self.weapon.wedom.clicked.connect(self.gotowedomi)
self.wedomi = Wedomi()
self.btnMain = QtWidgets.QPushButton("GoTo Main") # +++
self.btnMain.setStyleSheet("QPushButton {color: white; background-color: #800000;}") # +++
self.btnMain.clicked.connect(self.gotomain) # +++
self.wedomi.verticalLayout.addWidget(self.btnMain) # +++
self.stack = QStackedWidget() # !!!
self.stack.addWidget(self.apexHelper)
self.stack.addWidget(self.weapon)
self.stack.addWidget(self.wedomi)
self.stack.setCurrentIndex(0)
self.nameProgramm(self.stack.currentIndex())
hbox = QHBoxLayout(self.centralWidget)
hbox.setContentsMargins(0, 0, 0, 0)
hbox.addWidget(self.stack)
def nameProgramm(self, w=0):
if w == 0:
self.setWindowTitle('Apex Helper')
self.setWindowIcon(QIcon('lena.jpg')) # gg.jpg
elif w == 1:
self.setWindowTitle('Weapon')
self.setWindowIcon(QIcon('im.png')) # !!!
elif w == 2:
self.setWindowTitle('Wedomi')
self.setWindowIcon(QIcon('Ok.png')) # !!!
def gotomain(self):
self.stack.setCurrentIndex(0)
self.nameProgramm(self.stack.currentIndex())
def gotoWeapon(self):
self.stack.setCurrentIndex(1)
self.nameProgramm(self.stack.currentIndex())
def gotowedomi(self):
self.stack.setCurrentIndex(2)
self.nameProgramm(self.stack.currentIndex())
if name == "main":
app = QtWidgets.QApplication(sys.argv)
w = MainWindow() # --- ApexHelper(), +++ MainWindow
w.show()
sys.exit(app.exec_())
Apex.pyfrom PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(230, 651)
MainWindow.setStyleSheet("background-color: #22222e")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setStyleSheet("background-color: #000000")
self.centralwidget.setObjectName("centralwidget")
self.gridLayout = QtWidgets.QGridLayout(self.centralwidget)
self.gridLayout.setObjectName("gridLayout")
self.verticalLayout_4 = QtWidgets.QVBoxLayout()
self.verticalLayout_4.setObjectName("verticalLayout_4")
self.horizontalLayout_5 = QtWidgets.QHBoxLayout()
self.horizontalLayout_5.setObjectName("horizontalLayout_5")
self.label_2 = QtWidgets.QLabel(self.centralwidget)
font = QtGui.QFont()
font.setFamily("Arial Black")
font.setPointSize(24)
font.setBold(True)
font.setWeight(75)
self.label_2.setFont(font)
self.label_2.setStyleSheet("background-color: #000000;\n"
"border: 2px solid #B8860B;\n"
"border-radius: 30;\n"
"color: white")
self.label_2.setAlignment(QtCore.Qt.AlignCenter)
self.label_2.setObjectName("label_2")
self.horizontalLayout_5.addWidget(self.label_2)
self.verticalLayout_4.addLayout(self.horizontalLayout_5)
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setText("")
self.label.setPixmap(QtGui.QPixmap("lena.jpg")) # gg.jpg
self.label.setPixmap(QtGui.QPixmap("lena.jpg").scaled(120, 120)) # !? scaled
self.label.setAlignment(QtCore.Qt.AlignCenter)
self.label.setObjectName("label")
self.verticalLayout_4.addWidget(self.label)
self.weapon = QtWidgets.QPushButton(self.centralwidget)
sizePolicy = QtWidgets.QSizePolicy(QtWidgets.QSizePolicy.Preferred, QtWidgets.QSizePolicy.Fixed)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.weapon.sizePolicy().hasHeightForWidth())
self.weapon.setSizePolicy(sizePolicy)
self.weapon.setMinimumSize(QtCore.QSize(50, 50))
font = QtGui.QFont()
font.setFamily("Arial Black")
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.weapon.setFont(font)
self.weapon.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.weapon.setObjectName("weapon")
self.verticalLayout_4.addWidget(self.weapon)
self.pushButton_14 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_14.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_14.setObjectName("pushButton_14")
self.verticalLayout_4.addWidget(self.pushButton_14)
self.pushButton_13 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_13.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_13.setObjectName("pushButton_13")
self.verticalLayout_4.addWidget(self.pushButton_13)
self.pushButton_12 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_12.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_12.setObjectName("pushButton_12")
self.verticalLayout_4.addWidget(self.pushButton_12)
self.pushButton_10 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_10.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_10.setObjectName("pushButton_10")
self.verticalLayout_4.addWidget(self.pushButton_10)
self.pushButton_11 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_11.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_11.setObjectName("pushButton_11")
self.verticalLayout_4.addWidget(self.pushButton_11)
self.pushButton_6 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_6.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_6.setObjectName("pushButton_6")
self.verticalLayout_4.addWidget(self.pushButton_6)
self.pushButton_8 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_8.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_8.setObjectName("pushButton_8")
self.verticalLayout_4.addWidget(self.pushButton_8)
self.pushButton_7 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_7.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_7.setObjectName("pushButton_7")
self.verticalLayout_4.addWidget(self.pushButton_7)
self.pushButton_5 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_5.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_5.setObjectName("pushButton_5")
self.verticalLayout_4.addWidget(self.pushButton_5)
self.pushButton_4 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_4.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_4.setObjectName("pushButton_4")
self.verticalLayout_4.addWidget(self.pushButton_4)
self.pushButton_3 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_3.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_3.setObjectName("pushButton_3")
self.verticalLayout_4.addWidget(self.pushButton_3)
self.pushButton_2 = QtWidgets.QPushButton(self.centralwidget)
self.pushButton_2.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton_2.setObjectName("pushButton_2")
self.verticalLayout_4.addWidget(self.pushButton_2)
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #800000;\n"
"}")
self.pushButton.setObjectName("pushButton")
self.verticalLayout_4.addWidget(self.pushButton)
self.gridLayout.addLayout(self.verticalLayout_4, 0, 0, 1, 1)
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 230, 21))
self.menubar.setObjectName("menubar")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
self.label_2.setText(_translate("MainWindow", "ApexHelper"))
self.weapon.setText(_translate("MainWindow", "Weapon"))
self.pushButton_14.setText(_translate("MainWindow", "PushButton"))
self.pushButton_13.setText(_translate("MainWindow", "PushButton"))
self.pushButton_12.setText(_translate("MainWindow", "PushButton"))
self.pushButton_10.setText(_translate("MainWindow", "PushButton"))
self.pushButton_11.setText(_translate("MainWindow", "PushButton"))
self.pushButton_6.setText(_translate("MainWindow", "PushButton"))
self.pushButton_8.setText(_translate("MainWindow", "PushButton"))
self.pushButton_7.setText(_translate("MainWindow", "PushButton"))
self.pushButton_5.setText(_translate("MainWindow", "PushButton"))
self.pushButton_4.setText(_translate("MainWindow", "PushButton"))
self.pushButton_3.setText(_translate("MainWindow", "PushButton"))
self.pushButton_2.setText(_translate("MainWindow", "PushButton"))
self.pushButton.setText(_translate("MainWindow", "PushButton"))