用户关闭QMdiSubWindow时,有什么方法可以得到通知?我在QMdiArea或QMdiSubWindow中都找不到暗示我可以找到的信号。
我认为我唯一的机会是通过继承QMdiSubWindow并重写close事件,但是还有其他方法吗?
最佳答案
我认为除了您描述的方法(覆盖close事件)之外,没有其他方法可以准确地执行您要问的事情。
可能有其他方法可以实现您想要的而不执行此操作,这取决于您想知道何时关闭它的原因。其他选项可能是使用destroyed信号,检查QApplication::focusWidget()或让 parent 检查其children。
编辑以回复评论:
销毁QObject后,信号和插槽会自动断开连接,我建议您考虑使用QSharedPointers或QScopedPointers处理QObjects的生命周期。通过应用这些技术,您不需要来自关闭窗口的信号。
关于Qt:如何知道QMdiSubWindow何时关闭?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8818297/