# -*- coding: utf-8 -*- import os from PyQt5.QtWidgets import ( QMainWindow, QApplication, QDesktopWidget, QMdiArea, QMdiSubWindow, QDialog, QPushButton ) from PyQt5.uic import loadUi class ASubWindow(QDialog): def __init__(self, name="", ui="dummy", parent=None): super(ASubWindow, self).__init__(parent=parent) self.ui = loadUi( os.path.join(os.path.dirname(__file__), "ui", f"{ui}.ui"), self ) self.name = name self.parent = parent self.parent.sub_win_add(name, self) def closeEvent(self, event): if not self.parent is None: self.parent.sub_win_del(self.name)