ich möchte gerne ein Programm schreiben, dessen Hauptfenster mit dem Qt-Designer erstellt wurde und mittels uic.loadUi eingebunden wird, ebenso ein zweites Fenster, das aufgerufen wird, wenn ein Button oder Menü im Hauptfenster geclickt wird.
Mein Problem ist jetzt, dass wenn ich das Hauptfenster mittels loadUi einbinde (s. Code unten), das Dialogfenster aufgerufen, aber danach die Anwendung beendet wird und auch noch zwei Instanzen bestehen bleiben, die abgebrochen werden müssen.
Wenn ich statt den Befehlen in Zeile 13 und 14 den auskommentierten Code darüber nehme, funktioniert alles wie gewünscht.
Wo liegt mein Fehler?
Vielen Dank schon mal im Voraus für die Unterstützung!
Code: Alles auswählen
import sys
from PyQt5.QtWidgets import *
from PyQt5.uic import *
class First(QMainWindow):
def __init__(self, parent=None):
super(First, self).__init__(parent)
# self.pushButton = QPushButton("click me")
# self.setCentralWidget(self.pushButton)
# self.pushButton.clicked.connect(self.on_pushButton_clicked)
self.ui = loadUi("gui/hauptfenster.ui", self)
self.ui.pushButton.clicked.connect(self.on_pushButton_clicked)
def on_pushButton_clicked(self):
from gui.dialogfenster import Dialogfenster
self.dialog = Dialogfenster(self)
self.dialog.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
main = First()
main.show()
sys.exit(app.exec_())