我写了基础,但分辨率不是动态的。__init__(类中的第一个构造函数ApexHelper)
如何使分辨率动态化?
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from Apex import Ui_MainWindow
from PyQt5.QtGui import QIcon
from PyQt5.uic import loadUi
from Apex1 import Ui_other
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
class ApexHelper(QtWidgets.QMainWindow):
def __init__(self):
super(ApexHelper, self).__init__()
self.Apex = Ui_MainWindow()
self.Apex.setupUi(self)
self.NameProgramm()
self.Apex.pushButton.clicked.connect(self.gotoWeapon)# Кнопка
чтобы переходить на другое окно
################ Теперь плавное изменение окна
def NameProgramm(self):
self.setWindowTitle('Apex Helper')
self.setWindowIcon(QIcon('ff.jpg'))
def gotoWeapon(self):
application1=Weapon()
widget.addWidget(application1) # даёт возможность перейти на 2
слайд
widget.setCurrentIndex(widget.currentIndex()+1)
class Weapon(QtWidgets.QMainWindow):
def __init__(self):
super(Weapon, self).__init__()
self.Apex1 = Ui_other()
self.Apex1.setupUi(self)
self.Apex1.pushButton.clicked.connect(self.gotomain)
def gotomain(self):
#application = ApexHelper()
widget.addWidget(application) #ДОБАВИЛ ВИДЖЕТ ТУТ И НИЖЕ
widget.setCurrentIndex(widget.currentIndex()+1)
#create app
app = QtWidgets.QApplication(sys.argv)
application = ApexHelper()
#application.resize(550, 246)
#application.show() # работает без него
##########################################################################
widget = QtWidgets.QStackedWidget() #добавление виджетов
widget.addWidget(application) #добавить индекс в экземпляр application
класса ApexHelper !!!!!!И ТУТ ДОБАВИЛ!!!
#widget.addWidget(application1) #добавить индекс в экземпляр application1
класса screen2
#widget.setFixedHeight(600)
#widget.setFixedWidth(470)
widget.show() #показать виджеты
#main loop
sys.exit(app.exec())
Apex.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(471, 614)
MainWindow.setStyleSheet("background-color: #22222e")
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setStyleSheet("background-color: #000000")
self.centralwidget.setObjectName("centralwidget")
self.frame = QtWidgets.QFrame(self.centralwidget)
self.frame.setGeometry(QtCore.QRect(110, 0, 361, 101))
self.frame.setStyleSheet("background-color: #8B0000;\n"
"border-radius: 30;\n"
"border: 2px solid #708090\n"
"")
self.frame.setFrameShape(QtWidgets.QFrame.StyledPanel)
self.frame.setFrameShadow(QtWidgets.QFrame.Raised)
self.frame.setObjectName("frame")
self.label_2 = QtWidgets.QLabel(self.frame)
self.label_2.setGeometry(QtCore.QRect(70, 30, 191, 31))
font = QtGui.QFont()
font.setFamily("Arial Black")
font.setPointSize(18)
font.setBold(True)
font.setWeight(75)
self.label_2.setFont(font)
self.label_2.setObjectName("label_2")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(0, 0, 101, 91))
self.label.setText("")
self.label.setPixmap(QtGui.QPixmap("ff.jpg"))
self.label.setObjectName("label")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(190, 170, 75, 21))
self.pushButton.setStyleSheet("QPushButton {\n"
"color: white;\n"
"background-color: #808080;\n"
"}")
self.pushButton.setObjectName("pushButton")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 471, 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", "ApexLegends"))
self.pushButton.setText(_translate("MainWindow", "PushButton"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())
Apex1.py
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_other(object):
def setupUi(self, other):
other.setObjectName("other")
other.resize(524, 612)
self.centralwidget = QtWidgets.QWidget(other)
self.centralwidget.setObjectName("centralwidget")
self.label = QtWidgets.QLabel(self.centralwidget)
self.label.setGeometry(QtCore.QRect(140, 110, 261, 301))
font = QtGui.QFont()
font.setPointSize(36)
self.label.setFont(font)
self.label.setObjectName("label")
self.pushButton = QtWidgets.QPushButton(self.centralwidget)
self.pushButton.setGeometry(QtCore.QRect(160, 350, 75, 23))
self.pushButton.setObjectName("pushButton")
other.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(other)
self.menubar.setGeometry(QtCore.QRect(0, 0, 524, 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.label.setText(_translate("other", "ЭТО ГГ!"))
self.pushButton.setText(_translate("other", "ОБратно"))
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
other = QtWidgets.QMainWindow()
ui = Ui_other()
ui.setupUi(other)
other.show()
sys.exit(app.exec_())

您需要学习布局管理。从一个类开始
QLayout——这是几何管理器的基类。更多 https://doc.qt.io/qt-5/qlayout.html#details替换您的图像并尝试: