当我们在qt中关闭一个窗口时发出的信号是什么

时间:2017-05-03 10:01:27

标签: c++ qt

我让我的MainWindow打开第二个窗口。

当我在第二个窗口中单击一个按钮时,会启动一个线程,当我退出第二个窗口时,我希望我的线程结束。

关闭SecondWindow时发出的信号是什么?

感谢您的期货答案

1 个答案:

答案 0 :(得分:4)

小部件(包括QMainWindows)关闭时没有信号发出。如果窗口小部件设置为在关闭时被删除,那么您可以使用以下QObject信号来检测窗口小部件何时将被销毁...

void    destroyed(QObject *obj = Q_NULLPTR)

但是,这仅在您的窗口启用了Qt :: WA_DeleteOnClose标志时才有效(默认情况下不启用)。

或者也可能更优选地,您可以实现标准窗口小部件关闭事件并发出自己的信号以指示窗口已关闭:

void MainWindow::closeEvent( QCloseEvent* event )
{
    emit MySignalToIndicateThatTheWindowIsClosing();
    event->accept();
}