×掉子窗口后,子窗口还在接受数据的问题
-
当子窗口显示时,先关闭父窗口,调用的先后顺序为:

-
当子窗口显示时,先关闭子窗口,调用的先后顺序为:

找到原因:此时子窗口的析构函数没有执行
解决方案:
先说解决方案:给子窗口设置以下属性:
setAttribute(Qt::WA_QuitOnClose, true); //关闭此窗口,会立即执行析构函数
这时会出现关闭父窗口后,子窗口需要手动关闭的问题
我们需要关闭父窗口后,子窗口会一起关闭
解决方案:
给父窗口也设置以下属性:
setAttribute(Qt::WA_QuitOnClose, true); //关闭此窗口,会立即执行析构函数
然后在父窗口的析构函数中先调用子窗口的析构函数
博客讨论了在Qt环境中遇到的子窗口关闭后仍接收数据的问题。解决方案在于设置窗口属性Qt::WA_QuitOnClose,确保窗口关闭时执行析构函数。首先,为子窗口设置该属性以确保即时析构,但会导致父窗口关闭后子窗口需手动关闭。为解决这个问题,同时也为父窗口设置Qt::WA_QuitOnClose属性,并在父窗口析构函数中先调用子窗口的析构函数,实现子窗口随父窗口一同关闭。
5万+

被折叠的 条评论
为什么被折叠?



