Если вам нужно добавить «страницы» в QTabWidget, и эти страницы находятся в отдельных файлах пользовательского интерфейса, то вам нужно добавить их, используя addTab()
.
Так как я предполагаю, что эти страницы будут единственными действительными страницами в виджете со вкладками, вам следует удалить страницы, созданные Designer (щелкните правой кнопкой мыши вкладку, затем выберите «Удалить» в подменю «Страница x of y ...»).
Обратите внимание, что вы, кажется, пытаетесь создать свою программу, отредактировав файлы, сгенерированные pyuic
, что не должно выполняться никогда , поскольку они предназначены только для использования в качестве импортированных модулей, и не должен редактироваться по любой причине. Узнайте больше о , используя Designer , чтобы лучше понять, как с ними обращаться.
Предполагая, что вы воссоздаете файлы с помощью pyui c и никогда больше не трогаете эти python файлы, кроме перезаписи их всякий раз, когда вы обновите их исходный интерфейс и измените имена объектов двух виджетов на AdminForm
и StudentForm
, вот пример того, что вы можете сделать.
from PyQt5 import QtCore, QtGui, QtWidgets
from mainWindow import Ui_MainWindow
from admin import Ui_AdminForm
from student import Ui_StudentForm
class AdminPage(QtWidgets.QWidget, Ui_AdminForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setupUi(self)
class StudentPage(QtWidgets.QWidget, Ui_StudentForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setupUi(self)
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.setupUi(self)
self.adminPage = AdminPage()
self.tabWidget.addTab(self.adminPage, 'Admin')
self.studentPage = StudentPage()
self.tabWidget.addTab(self.studentPage, 'Student')
if __name__ == '__main__':
import sys
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
window.show()
sys.exit(app.exec_())