Всем привет!
Подскажите что использовать для закрытия окон в Qt? Я использую сразу обе функции для полного закрытия окна
self.close() и self.destroy()
Почему я так делаю:
1) Я написал приложение в котором вызывается диалоговое окно, и при нажатии на кнопку строиться таблица из 1,000,000 элементов. Так вот если использовать просто close(), то при повторном вызове этого диалогового окна таблица остается заполненой!(То есть сохраняется старая заполненная таблица)
Из этого выходит второй пункт
2) При использовании только close(), память не освобождается. Таблица из 1,000,000 элементов остается в памяти.
При использовании self.close() и self.destroy() одновременно, таких проблем нет, поэтому я сейчас все окно закрываю таким способом.
Посвятите неуча пожалуйста, правильно ли я делаю?
Идея такая:
- покажите клиенту форму для ввода данных
- клиент заполняет эту форму и нажимает OK
- вы обрабатываете сигнал о закрытии окна и скрываете его
- далее, метаданные из окна никуда не делись, вы можете продолжить их использовать. (ну например это было окно настроек программы и вы сохраняете данные на диск).
- как только решите, что никакие данные из этого окна более не нужны, то смело уничтожайте его.