Что использовать в Qt close() или destroy()?

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

При использовании self.close() и self.destroy() одновременно, таких проблем нет, поэтому я сейчас все окно закрываю таким способом.
Посвятите неуча пожалуйста, правильно ли я делаю?
  • Вопрос задан
  • 1618 просмотров
Решения вопроса 1
@neosapient
VC9, VC11, QT4, QT5, MySQL
Идея такая:
- покажите клиенту форму для ввода данных
- клиент заполняет эту форму и нажимает OK
- вы обрабатываете сигнал о закрытии окна и скрываете его
- далее, метаданные из окна никуда не делись, вы можете продолжить их использовать. (ну например это было окно настроек программы и вы сохраняете данные на диск).
- как только решите, что никакие данные из этого окна более не нужны, то смело уничтожайте его.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
amirkaaa
@amirkaaa
Student from Kazakhstan
QTableWidget.clear() или QTableWidget.clearContents() не пробовал ?
А затем self.close() ?
В таком порядке будет логичней закрывать таблицу.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы