LINUX.ORG.RU

История изменений

Исправление Kogrom, (текущая версия) :

Я не понял, зачем тут поток, но может поможет:

  1. Можно привязать функцию на закрытие главного окна rootWindow.protocol("WM_DELETE_WINDOW", main.on_close).
  2. У всех объектов есть деструктор __del__.
  3. Диалоги делают с помощью tk.Toplevel(parent).

Можно сделать в главном окне двойную защиту:

    def _on_close(self):
        self.deleting = True
        # stop all
        self.deleted = True

    def on_close(self):
        if not self.deleted:
            self._on_close()
        self.destroy()
        self.parent.destroy()

    def __del__(self):
        if not self.deleted:
            self._on_close()

Исходная версия Kogrom, :

Я не понял, зачем тут поток, но может поможет:

  1. Можно привязать функцию на закрытие главного окна rootWindow.protocol("WM_DELETE_WINDOW", main.on_close).
  2. У всех объектов есть деструктор del.
  3. Диалоги делают с помощью tk.Toplevel(parent).

Можно yfdthntnm в главном окне двойную защиту:

    def _on_close(self):
        self.deleting = True
        # stop all
        self.deleted = True

    def on_close(self):
        if not self.deleted:
            self._on_close()
        self.destroy()
        self.parent.destroy()

    def __del__(self):
        if not self.deleted:
            self._on_close()