Need something like a finished-signal from QWidget

后端 未结 3 815
猫巷女王i
猫巷女王i 2021-02-19 05:25

I\'m searching for something like the finished-signal from QDialog, only for QWidget. The reason is, I disable my toolbar once the widget pops up (whic

3条回答
  •  自闭症患者
    2021-02-19 06:05

    You can set the widget to be deleted on close, and then listen to its destroyed signal:

    widget->setAttribute( Qt::WA_DeleteOnClose );
    connect( widget, SIGNAL(destroyed(QObject*)), this, SLOT(widgetDestroyed(QObject*)) );
    

    That only works if you're not interested in the widget contents though. At the point destroyed() is emitted, the widget isn't a QWidget anymore, just a QObject (as destroyed() is emitted from ~QObject), so you can't cast the argument QObject* to QWidget anymore.

    A simple alternative might be to wrap your widget with a QDialog.

提交回复
热议问题