Qt:如何知道QMdiSubWindow何时关闭?

Raú*_*ràs 5 qt

用户关闭QMdiSubWindow时,有什么方法可以得到通知?我在QMdiAreaQMdiSubWindow中找不到任何提示我可以找到的信号。

我认为唯一的机会是通过继承QMdiSubWindow并重写close事件,但是还有其他方法吗?

Sam*_*mer 1

我认为除了您所描述的(覆盖关闭事件)之外,没有其他方法可以准确地执行您所要求的操作。

可能还有其他方法可以实现您想要的目标,而不需要这样做,具体取决于您想知道它何时关闭的原因。其他选项可以是使用被破坏的信号,检查QApplication::focusWidget(),或者可能让父级检查其子级

编辑回应评论:

信号和槽在 QObject 销毁后会自动断开连接,我建议考虑使用QSharedPointersQScopedPointers来处理 QObject 的生命周期。通过应用这些技术,您不需要来自关闭窗口的信号。