Python . PyQt5 . Не могу понять как перезаписать атрибут формы

У меня есть метод "LoadForm" . В кнопках я указываю какой экземпляр загрузить (self.target_1 и тд) и какой атрибут из этой формы взять что бы установить начальную позициию и размер формы на рабочем столе (self.target_1.atr_pos_1). Проблема заключается в следущем: Я хочу при закрытии , изменении положения или изменения размера формы (self.target_1) перезаписать атрибут из которого я беру стартовое положение на последние изменения формы , что бы потом по кнопке вызвать стартвое положение последнего изменения формы . Простите если я плохо обьяснил ситуацию . Мне кажется что я вообще не то делаю , ибо я достаточно мало времени изучаю PyQt5 и ооп в python . Надеюсь на ваше понимание .

import sys
from PyQt5 import QtCore, QtGui, QtWidgets
from MainApp import Ui_MainWindow  # Главная форма
from TargetDialog import TargetDialog
from SettingsDialog import SettingsDialog


# Главное окно
class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)
        self.ui = Ui_MainWindow()  
        self.ui.setupUi(self)  

        # Формы
        self.target_1 = TargetDialog()
        self.target_2 = TargetDialog()
        self.target_3 = TargetDialog()
        self.target_4 = TargetDialog()
        self.target_5 = TargetDialog()
        self.target_6 = TargetDialog()
        self.target_7 = TargetDialog()
        self.target_8 = TargetDialog()

        # Вызываю форму по клику кнопки . Размер и позиция берется из заданного атрибута
        self.ui.button_1.clicked.connect(lambda:self.LoadForm(self.target_1,self.target_1.atr_pos_1))  
        self.ui.button_2.clicked.connect(lambda:self.LoadForm(self.target_1,self.target_1.atr_pos_2))
        self.ui.button_3.clicked.connect(lambda:self.LoadForm(self.target_1,self.target_1.atr_pos_3))
        self.ui.button_4.clicked.connect(lambda: self.LoadForm(self.target_1self.target_1.atr_pos_4))
        self.ui.button_5.clicked.connect(lambda: self.LoadForm(self.target_1self.target_1.atr_pos_5))
        self.ui.button_6.clicked.connect(lambda: self.LoadForm(self.target_1self.target_1.atr_pos_6))
        self.ui.button_7.clicked.connect(lambda: self.LoadForm(self.target_1self.target_1.atr_pos_7))
        self.ui.button_8.clicked.connect(lambda: self.LoadForm(self.target_1self.target_1.atr_pos_8))

    # Метод вызова формы
    # Аргументы: 1 = экземпляр , 2 атрибут экземпляра
    def LoadForm(self, obj , atr):
        self.obj.setGeometry(atr[0], atr[1], atr[2], atr[3])
        self.obj.show()


if __name__ == '__main__':
    app = QtWidgets.QApplication(sys.argv)
    my_app = MyWin()
    my_app.show()
    sys.exit(app.exec_())

Ответы (0 шт):