При установке атрибута wa DeleteOnClose в главном окне Qt программа аварийно завершает работу при удалении указателя пользовательского интерфейса
Я поставил WA_DeleteOnClose
атрибут виджета в главном окне.
setAttribute(Qt::WA_DeleteOnClose);
однако, всякий раз, когда я закрываю это главное окно, я получаю segfault в своем деструкторе, который имеет только delete ui;
в двух словах, создал приложение Qt4 GUI в Creator, добавил setAttribute(Qt::WA_DeleteOnClose);
к конструктору, программа теперь вылетает при выходе.
1 ответов
вы получаете segfault в своем деструкторе в первый раз или во второй раз? Помните, что деструктор главного окна должен запускаться только один раз. То есть он должен работать или из-за стека расслабиться, или из-за WA_DeleteOnClose
, но не оба.
IIRC, создатель поместит главное окно в стек main()
. Поэтому, когда main()
возвращает главное окно разрушается.