#gui.py file
[COLOR="#0000CD"]from PyQt5 import QtCore, QtGui, QtWidgets
from gui2 import *
from gui3 import *
from gui4 import *
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(700, 700)
self.
centralwidget = QtWidgets.
QWidget(MainWindow
) self.centralwidget.setObjectName("centralwidget")
self.
tabWidget = QtWidgets.
QTabWidget(self.
centralwidget) self.
tabWidget.
setGeometry(QtCore.
QRect(0,
0,
700,
700)) self.tabWidget.setObjectName("tabWidget")
MainWindow.setCentralWidget(self.centralwidget)
self.
menubar = QtWidgets.
QMenuBar(MainWindow
) self.
menubar.
setGeometry(QtCore.
QRect(0,
0,
700,
21)) self.menubar.setObjectName("menubar")
self.
menuTools = QtWidgets.
QMenu(self.
menubar) self.menuTools.setObjectName("menuTools")
self.
menuView = QtWidgets.
QMenu(self.
menubar) self.menuView.setObjectName("menuView")
MainWindow.setMenuBar(self.menubar)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.
Record_New_Data = QtWidgets.
QAction(MainWindow
) self.Record_New_Data.setObjectName("Record_New_Data")
self.
Attendances = QtWidgets.
QAction(MainWindow
) self.Attendances.setObjectName("Attendances")
self.
Attendance_Records = QtWidgets.
QAction(MainWindow
) self.Attendance_Records.setObjectName("Attendance_Records")
self.menuTools.addAction(self.Record_New_Data)
self.menuTools.addAction(self.Attendances)
self.menuView.addAction(self.Attendance_Records)
self.menubar.addAction(self.menuTools.menuAction())
self.menubar.addAction(self.menuView.menuAction())
self.Record_New_Data.triggered.connect(self.addTab_NewRecord)
self.retranslateUi(MainWindow)
def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(_translate("MainWindow", "Face ID Attendance System"))
self.menuTools.setTitle(_translate("MainWindow", "Tools"))
self.menuView.setTitle(_translate("MainWindow", "View"))
self.Record_New_Data.setText(_translate("MainWindow", "Record New Data"))
self.Attendances.setText(_translate("MainWindow", "Attendances"))
self.Attendance_Records.setText(_translate("MainWindow", "Attendance Records"))
def addTab_NewRecord(self):
index = self.tabWidget.indexOf(self.tab1)
if index == -1:
data = Ui_RecordData()
data.setupUi(self.tab1)
self.tabWidget.addTab(self.tab1, 'New Record')
self.tabWidget.setCurrentIndex(self.tabWidget.count() - 1)
else:
self.tabWidget.setCurrentIndex(index)
if __name__ == "__main__":
import sys
ui = Ui_MainWindow()
ui.setupUi(MainWindow)
MainWindow.show()
sys.exit(app.exec_())[/COLOR]
#gui.py file
[COLOR="#0000CD"]from PyQt5 import QtCore, QtGui, QtWidgets
from gui2 import *
from gui3 import *
from gui4 import *
class Ui_MainWindow(object):
def setupUi(self, MainWindow):
MainWindow.setObjectName("MainWindow")
MainWindow.resize(700, 700)
self.centralwidget = QtWidgets.QWidget(MainWindow)
self.centralwidget.setObjectName("centralwidget")
self.tabWidget = QtWidgets.QTabWidget(self.centralwidget)
self.tabWidget.setGeometry(QtCore.QRect(0, 0, 700, 700))
self.tabWidget.setObjectName("tabWidget")
MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QtWidgets.QMenuBar(MainWindow)
self.menubar.setGeometry(QtCore.QRect(0, 0, 700, 21))
self.menubar.setObjectName("menubar")
self.menuTools = QtWidgets.QMenu(self.menubar)
self.menuTools.setObjectName("menuTools")
self.menuView = QtWidgets.QMenu(self.menubar)
self.menuView.setObjectName("menuView")
MainWindow.setMenuBar(self.menubar)
self.statusbar = QtWidgets.QStatusBar(MainWindow)
self.statusbar.setObjectName("statusbar")
MainWindow.setStatusBar(self.statusbar)
self.Record_New_Data = QtWidgets.QAction(MainWindow)
self.Record_New_Data.setObjectName("Record_New_Data")
self.Attendances = QtWidgets.QAction(MainWindow)
self.Attendances.setObjectName("Attendances")
self.Attendance_Records = QtWidgets.QAction(MainWindow)
self.Attendance_Records.setObjectName("Attendance_Records")
self.menuTools.addAction(self.Record_New_Data)
self.menuTools.addAction(self.Attendances)
self.menuView.addAction(self.Attendance_Records)
self.menubar.addAction(self.menuTools.menuAction())
self.menubar.addAction(self.menuView.menuAction())
self.tab1 = QtWidgets.QWidget()
self.Record_New_Data.triggered.connect(self.addTab_NewRecord)
self.retranslateUi(MainWindow)
QtCore.QMetaObject.connectSlotsByName(MainWindow)
def retranslateUi(self, MainWindow):
_translate = QtCore.QCoreApplication.translate
MainWindow.setWindowTitle(_translate("MainWindow", "Face ID Attendance System"))
self.menuTools.setTitle(_translate("MainWindow", "Tools"))
self.menuView.setTitle(_translate("MainWindow", "View"))
self.Record_New_Data.setText(_translate("MainWindow", "Record New Data"))
self.Attendances.setText(_translate("MainWindow", "Attendances"))
self.Attendance_Records.setText(_translate("MainWindow", "Attendance Records"))
def addTab_NewRecord(self):
index = self.tabWidget.indexOf(self.tab1)
if index == -1:
data = Ui_RecordData()
data.setupUi(self.tab1)
self.tabWidget.addTab(self.tab1, 'New Record')
self.tabWidget.setCurrentIndex(self.tabWidget.count() - 1)
else:
self.tabWidget.setCurrentIndex(index)
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_())[/COLOR]
To copy to clipboard, switch view to plain text mode
#gui2.py
[COLOR="#800080"]from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_RecordData(object):
def setupUi(self, RecordData):
RecordData.setObjectName("RecordData")
RecordData.resize(622, 528)
self.
label = QtWidgets.
QLabel(RecordData
) self.
label.
setGeometry(QtCore.
QRect(10,
20,
331,
321)) self.label.setText("")
self.label.setObjectName("label")
self.
pushButton.
setGeometry(QtCore.
QRect(60,
410,
75,
23)) self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.add_Text)
self.retranslateUi(RecordData)
def retranslateUi(self, RecordData):
RecordData.setWindowTitle(_translate("RecordData", "Record Data"))
self.pushButton.setText(_translate("RecordData", "PushButton"))
def add_Text(self):
self.label.setText("ABC")
if __name__ == "__main__":
import sys
ui = Ui_RecordData()
ui.setupUi(RecordData)
RecordData.show()
sys.exit(app.exec_())[/COLOR]
#gui2.py
[COLOR="#800080"]from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_RecordData(object):
def setupUi(self, RecordData):
RecordData.setObjectName("RecordData")
RecordData.resize(622, 528)
self.label = QtWidgets.QLabel(RecordData)
self.label.setGeometry(QtCore.QRect(10, 20, 331, 321))
self.label.setText("")
self.label.setObjectName("label")
self.pushButton = QtWidgets.QPushButton(RecordData)
self.pushButton.setGeometry(QtCore.QRect(60, 410, 75, 23))
self.pushButton.setObjectName("pushButton")
self.pushButton.clicked.connect(self.add_Text)
self.retranslateUi(RecordData)
QtCore.QMetaObject.connectSlotsByName(RecordData)
def retranslateUi(self, RecordData):
_translate = QtCore.QCoreApplication.translate
RecordData.setWindowTitle(_translate("RecordData", "Record Data"))
self.pushButton.setText(_translate("RecordData", "PushButton"))
def add_Text(self):
self.label.setText("ABC")
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
RecordData = QtWidgets.QWidget()
ui = Ui_RecordData()
ui.setupUi(RecordData)
RecordData.show()
sys.exit(app.exec_())[/COLOR]
To copy to clipboard, switch view to plain text mode
I have 2 python file separately with different classes. When I execute gui.py file, I can add new tab with the Tab Widget consists of content from gui2.py file. However, all the widgets appeared in Tab Widget is not working. When I execute gui2.py file independently, it works.
gui2.PNG This image is the result obtained by execute gui2.py file
gui1.jpg This image is the result obtained by execute gui1.py file. It successful display all the widgets but not functioning.
Bookmarks