我有一个主窗口打开了第二个窗口。
当我在第二个窗口中点击按钮时,会启动一个线程,我希望当我关闭第二个窗口时,我的线程会结束。
当我的第二个窗口关闭时,会发出什么信号?
感谢您未来的回答。
当小部件(包括QMainWindow)关闭时,不会发出信号。如果一个小部件设置为在关闭时被删除,那么您可以使用以下QObject信号来检测小部件即将被销毁...
void destroyed(QObject *obj = Q_NULLPTR)
然而,这仅在启用了Qt :: WA_DeleteOnClose标志的情况下才能工作(默认情况下未启用)。
或者,您可以实现标准小部件关闭事件并发出自己的信号来指示窗口已关闭,这可能更可取:
void MainWindow::closeEvent( QCloseEvent* event )
{
emit MySignalToIndicateThatTheWindowIsClosing();
event->accept();
}
accepted()
、finished(int result)
或rejected()
信号将你的MainWindow连接到第二个QDialog窗口。 - thibsc