I have small code in pyqt5 which is about showing first window and after button click showing second window, some manipulations are done over widgets but everything works except one thing, at the end second window disappears T
I tried some modifications over the code also checked some posts here but nothing worked
import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.QtWidgets import QLineEdit
from PyQt5.QtWidgets import QMainWindow, QApplication, QWidget, QAction, QTableWidget, QTableWidgetItem, QVBoxLayout
from qtpy import QtWidgets
app = QtWidgets.QApplication(sys.argv)
MainWind = QtWidgets.QMainWindow()
class Ui_LoginWindow(object):
def setupUi(self, LoginWindow):
LoginWindow.setObjectName("LoginWindow")
LoginWindow.resize(418, 508)
self.LoginWidget = QtWidgets.QWidget(LoginWindow)
self.LoginWidget.setObjectName("LoginWidget")
self.User_Input = QtWidgets.QLineEdit(self.LoginWidget)
self.User_Input.setGeometry(QtCore.QRect(100, 100, 201, 41))
font = QtGui.QFont()
font.setPointSize(10)
self.User_Input.setFont(font)
self.User_Input.setObjectName("User_Input")
self.Password_Input = QtWidgets.QLineEdit(self.LoginWidget)
self.Password_Input.setGeometry(QtCore.QRect(100, 220, 201, 41))
self.Password_Input.setEchoMode(QLineEdit.Password)
font = QtGui.QFont()
font.setPointSize(10)
font.setStrikeOut(False)
self.Password_Input.setFont(font)
self.Password_Input.setInputMask("")
self.Password_Input.setText("")
self.Password_Input.setObjectName("Password_Input")
self.User_Label = QtWidgets.QLabel(self.LoginWidget)
self.User_Label.setGeometry(QtCore.QRect(140, 70, 125, 21))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.User_Label.setFont(font)
self.User_Label.setAlignment(QtCore.Qt.AlignCenter)
self.User_Label.setObjectName("User_Label")
self.Password_Label = QtWidgets.QLabel(self.LoginWidget)
self.Password_Label.setEnabled(True)
self.Password_Label.setGeometry(QtCore.QRect(160, 190, 91, 21))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.Password_Label.setFont(font)
self.Password_Label.setScaledContents(False)
self.Password_Label.setAlignment(QtCore.Qt.AlignCenter)
self.Password_Label.setObjectName("Password_Label")
self.Login_Button = QtWidgets.QPushButton(self.LoginWidget)
self.Login_Button.setGeometry(QtCore.QRect(120, 310, 165, 29))
font = QtGui.QFont()
font.setPointSize(12)
font.setBold(True)
font.setWeight(75)
self.Login_Button.setFont(font)
self.Login_Button.setObjectName("Login_Button")
self.Message_Label = QtWidgets.QLabel(self.LoginWidget)
self.Message_Label.setGeometry(QtCore.QRect(20, 420, 371, 20))
font = QtGui.QFont()
font.setPointSize(10)
font.setItalic(True)
self.Message_Label.setFont(font)
self.Message_Label.setAlignment(QtCore.Qt.AlignCenter)
self.Message_Label.setWordWrap(True)
self.Message_Label.setObjectName("Message_Label")
LoginWindow.setCentralWidget(self.LoginWidget)
self.retranslateUi(LoginWindow)
QtCore.QMetaObject.connectSlotsByName(LoginWindow)
def retranslateUi(self, LoginWindow):
_translate = QtCore.QCoreApplication.translate
LoginWindow.setWindowTitle(_translate("LoginWindow", "მთავარი გვერდი"))
self.User_Label.setText(_translate("LoginWindow", "მომხმარებელი"))
self.Password_Label.setText(_translate("LoginWindow", "პაროლი"))
self.Login_Button.setText(_translate("LoginWindow", "სისტემაში შესვლა"))
self.Message_Label.setText(_translate("LoginWindow", "<html><head/><body><p><br/></p></body></html>"))
self.Login_Button.clicked.connect(self.log_click)
def log_click(self):
MainWind.hide()
Second()
################################################
#This is where it starts does some work and disappears at the end
class Second(QWidget):
def __init__(self, parent=None):
super(Second, self).__init__(parent)
self.setWindowTitle('შეიყვანე ჩვენება')
self.setGeometry(0, 0, 640, 480)
self.tableWidget = QTableWidget()
grid_height = 4
grid_width = 3
self.tableWidget.setRowCount(grid_height)
self.tableWidget.setColumnCount(grid_width)
for x in range(0, grid_height):
for y in range(0, grid_width):
self.tableWidget.setItem(x, y, QTableWidgetItem('test1'))
self.tableWidget.setEditTriggers(QtWidgets.QTableWidget.NoEditTriggers)
self.layout = QVBoxLayout()
self.layout.addWidget(self.tableWidget)
self.setLayout(self.layout)
self.show()
def Login_Page():
ui = Ui_LoginWindow()
ui.setupUi(MainWind)
MainWind.show()
sys.exit(app.exec_())
def main():
Login_Page()
if __name__ == "__main__":
main()
Just want second window to remain still