Reputation: 73
So in the def __init__(self)
is where my main_window pops up. And when the pushButton_addNew
is clicked, I want the Ui_Form
to pop-up on top of my main window. How do I do it?
I tried this code. The new window pops-up but it's not movable. It seems like only the widgets are there
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QMessageBox
from ssis_main_UI import Ui_MainWindow
from ssis_form_UI import Ui_Form
import mysql.connector
class MainWindow(QtWidgets.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.initializeUI()
self.show()
def initializeUI(self):
self.ui.pushButton_addNew.clicked.connect(self.addNew)
def addNew(self):
new = QtWidgets.QWidget(self)
new_ui = Ui_Form()
new_ui.setupUi(new)
new.show()
app = QtWidgets.QApplication(sys.argv)
window = MainWindow()
sys.exit(app.exec())
Here's my ssis_form_UI.py
code
from PyQt5 import QtCore, QtGui, QtWidgets
class Ui_Form(object):
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(236, 359)
icon = QtGui.QIcon()
icon.addPixmap(QtGui.QPixmap("images/main_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
Form.setWindowIcon(icon)
self.header = QtWidgets.QWidget(Form)
self.header.setGeometry(QtCore.QRect(0, 0, 240, 61))
self.header.setStyleSheet("#header{\n"
"background-color: rgb(0, 170, 255);\n"
"}")
self.header.setObjectName("header")
self.formLayoutWidget = QtWidgets.QWidget(Form)
self.formLayoutWidget.setGeometry(QtCore.QRect(19, 130, 201, 221))
self.formLayoutWidget.setObjectName("formLayoutWidget")
self.formLayout = QtWidgets.QFormLayout(self.formLayoutWidget)
self.formLayout.setContentsMargins(5, 5, 5, 5)
self.formLayout.setObjectName("formLayout")
self.studentIDLabel = QtWidgets.QLabel(self.formLayoutWidget)
self.studentIDLabel.setObjectName("studentIDLabel")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.LabelRole, self.studentIDLabel)
self.studentIDLineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.studentIDLineEdit.setObjectName("studentIDLineEdit")
self.formLayout.setWidget(0, QtWidgets.QFormLayout.FieldRole, self.studentIDLineEdit)
self.firstNameLabel = QtWidgets.QLabel(self.formLayoutWidget)
self.firstNameLabel.setObjectName("firstNameLabel")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.LabelRole, self.firstNameLabel)
self.firstNameLineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.firstNameLineEdit.setObjectName("firstNameLineEdit")
self.formLayout.setWidget(1, QtWidgets.QFormLayout.FieldRole, self.firstNameLineEdit)
self.middleNameLabel = QtWidgets.QLabel(self.formLayoutWidget)
self.middleNameLabel.setObjectName("middleNameLabel")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.LabelRole, self.middleNameLabel)
self.middleNameLineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.middleNameLineEdit.setObjectName("middleNameLineEdit")
self.formLayout.setWidget(2, QtWidgets.QFormLayout.FieldRole, self.middleNameLineEdit)
self.lastNameLabel = QtWidgets.QLabel(self.formLayoutWidget)
self.lastNameLabel.setObjectName("lastNameLabel")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.LabelRole, self.lastNameLabel)
self.lastNameLineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.lastNameLineEdit.setObjectName("lastNameLineEdit")
self.formLayout.setWidget(3, QtWidgets.QFormLayout.FieldRole, self.lastNameLineEdit)
self.courseLabel = QtWidgets.QLabel(self.formLayoutWidget)
self.courseLabel.setObjectName("courseLabel")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.LabelRole, self.courseLabel)
self.courseLineEdit = QtWidgets.QLineEdit(self.formLayoutWidget)
self.courseLineEdit.setObjectName("courseLineEdit")
self.formLayout.setWidget(4, QtWidgets.QFormLayout.FieldRole, self.courseLineEdit)
self.yearLevelLabel = QtWidgets.QLabel(self.formLayoutWidget)
self.yearLevelLabel.setObjectName("yearLevelLabel")
self.formLayout.setWidget(5, QtWidgets.QFormLayout.LabelRole, self.yearLevelLabel)
self.yearLevelComboBox = QtWidgets.QComboBox(self.formLayoutWidget)
self.yearLevelComboBox.setObjectName("yearLevelComboBox")
self.formLayout.setWidget(5, QtWidgets.QFormLayout.FieldRole, self.yearLevelComboBox)
self.genderLabel = QtWidgets.QLabel(self.formLayoutWidget)
self.genderLabel.setObjectName("genderLabel")
self.formLayout.setWidget(6, QtWidgets.QFormLayout.LabelRole, self.genderLabel)
self.genderComboBox = QtWidgets.QComboBox(self.formLayoutWidget)
self.genderComboBox.setObjectName("genderComboBox")
self.formLayout.setWidget(6, QtWidgets.QFormLayout.FieldRole, self.genderComboBox)
self.AddStudent = QtWidgets.QPushButton(self.formLayoutWidget)
self.AddStudent.setObjectName("AddStudent")
self.formLayout.setWidget(7, QtWidgets.QFormLayout.SpanningRole, self.AddStudent)
self.label_pic = QtWidgets.QLabel(Form)
self.label_pic.setGeometry(QtCore.QRect(70, 20, 101, 100))
self.label_pic.setText("")
self.label_pic.setPixmap(QtGui.QPixmap("images/changeusername_icon.png"))
self.label_pic.setScaledContents(True)
self.label_pic.setWordWrap(False)
self.label_pic.setObjectName("label_pic")
self.pushButton_editPic = QtWidgets.QPushButton(Form)
self.pushButton_editPic.setGeometry(QtCore.QRect(170, 90, 31, 23))
self.pushButton_editPic.setText("")
icon1 = QtGui.QIcon()
icon1.addPixmap(QtGui.QPixmap("images/edit_icon.png"), QtGui.QIcon.Normal, QtGui.QIcon.Off)
self.pushButton_editPic.setIcon(icon1)
self.pushButton_editPic.setFlat(True)
self.pushButton_editPic.setObjectName("pushButton_editPic")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Add New"))
self.studentIDLabel.setText(_translate("Form", "studentID"))
self.firstNameLabel.setText(_translate("Form", "First Name"))
self.middleNameLabel.setText(_translate("Form", "Middle Name"))
self.lastNameLabel.setText(_translate("Form", "Last Name"))
self.courseLabel.setText(_translate("Form", "Course"))
self.yearLevelLabel.setText(_translate("Form", "Year Level"))
self.genderLabel.setText(_translate("Form", "Gender"))
self.AddStudent.setText(_translate("Form", "Add Student"))
Upvotes: 0
Views: 668
Reputation: 73
Nevermind, I already know how. Here's what I found
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from ssis_main_UI import Ui_MainWindow
import addStudent
class MainWindow(QtWidgets.QMainWindow, Ui_MainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow()
self.ui.setupUi(self)
self.ui.pushButton_addNew.clicked.connect(self.goto_addStudent)
def goto_addStudent(self):
self.a = AddStudent()
self.a.show()
class AddStudent(QtWidgets.QMainWindow, addStudent.Ui_MainWindow):
def __init__(self):
super().__init__()
self.ui = Ui_MainWindow()
self.setupUi(self)
app = QtWidgets.QApplication(sys.argv)
win = MainWindow()
win.show()
sys.exit(app.exec_())
Upvotes: 0