ASubWindow.py 679 bytes
# -*- 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)