Открытие второй формы от первого в Pyqt5 - PullRequest
0 голосов
/ 08 декабря 2018

Я новичок в Qt и изучаю.

Я создал две формы, используя Qt Designer.Я хочу открыть вторую форму с первого по нажатию кнопки события.Я сделал это, это не работает.

import LoginForm
import SignUpForm
import sys
from PyQt5 import QtCore, QtGui, QtWidgets

def OnSignup():
    app = QtWidgets.QApplication(sys.argv)
    MainWindow = QtWidgets.QMainWindow()
    ui = SignUpForm.Ui_MainWindow()
    ui.setupUi(MainWindow)
    MainWindow.show()
    #sys.exit(app.exec_())


app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = LoginForm.Ui_LoginForm()
ui.setupUi(MainWindow)

ui.Signup.clicked.connect(OnSignup)

MainWindow.show()
sys.exit(app.exec_())

sys.exit (app.exec _ ())

без этой строки первая форма открыта, но вторая форма непоказано при нажатии на кнопку.

с этой строкой, эта ошибка сгенерирована. QCoreApplication :: exec: цикл событий уже запущен

Plz Help

1 Ответ

0 голосов
/ 08 декабря 2018
import LoginForm
import SignUpForm
import sys
from PyQt5 import QtCore, QtGui, QtWidgets

window2 = None
def OnSignup():
    global window2
    if window2 is None:
        window2 = QtWidgets.QMainWindow()
        ui = SignUpForm.Ui_MainWindow()
        ui.setupUi(window2)
    window2.show()


app = QtWidgets.QApplication(sys.argv)
MainWindow = QtWidgets.QMainWindow()
ui = LoginForm.Ui_LoginForm()
ui.setupUi(MainWindow)

ui.Signup.clicked.connect(OnSignup)

MainWindow.show()
app.exec_()
...