Вы можете настроить удаление виджета при закрытии, а затем прослушать его сигнал destroyed
:
widget->setAttribute( Qt::WA_DeleteOnClose );
connect( widget, SIGNAL(destroyed(QObject*)), this, SLOT(widgetDestroyed(QObject*)) );
Это работает, только если вас не интересует содержимое виджета.В момент выдачи destroyed()
виджет больше не является QWidget
, просто QObject
(так как ~QObject
испускается destroyed()
), поэтому вы не можете привести аргумент QObject*
кQWidget
больше.
Простая альтернатива может заключаться в том, чтобы обернуть ваш виджет QDialog
.