Jul-11-2022, 05:04 PM
A simple example to open dialog1 on closing dialog2
from PyQt5.QtWidgets import (QMainWindow, QApplication, QPushButton, QDialog) class firstDialog(QDialog): def __init__(self, parent = None): super(firstDialog, self).__init__(parent) self.setGeometry(250, 250, 300, 100) self.setWindowTitle("Dialog 1") class secondDialog(QDialog): def __init__(self, parent = None): super(secondDialog, self).__init__(parent) self.setGeometry(100, 100, 300, 100) self.setWindowTitle("Dialog 2") def closeEvent(self, event): print("closing secondDialog\n\nopening firstDialog") self.firstdial= firstDialog() self.firstdial.show() event.accept() class mainWin(QMainWindow): def __init__(self, parent = None): super(mainWin, self).__init__(parent) self.setupUI() def setupUI(self): self.setGeometry(0, 0, 400, 300) self.tb = self.addToolBar("TB") dialog_btn_1 = QPushButton("show Dialog") dialog_btn_1.clicked.connect(self.show_dlg) self.tb.addWidget(dialog_btn_1) def show_dlg(self): self.dlg = secondDialog() self.dlg.show() if __name__ == '__main__': import sys app = QApplication(sys.argv) win = mainWin() win.setWindowTitle("Main Window") win.show() sys.exit(app.exec_())