qt非模态窗口父窗口隐藏关闭导致程序闪退

qt非模态窗口父窗口隐藏关闭导致程序闪退,第1张

是因为子窗口依赖于父窗口,而父窗口被关闭或隐藏后,子窗口无法继续运行导致的。解决办法是在子窗口的关闭事件中,增加判断父窗口的状态,父窗口是隐藏或关闭状态,就不执扰帆行子窗口的关闭 *** 作模野,保证程序的正常运行。在创建子窗口时,可以将父窗口作为参数传入,以便在子窗口中对父窗口进行 *** 作。可以在父窗口关闭事件中增加对子窗口缓码雹的关闭 *** 作,以避免程序在关闭时出现崩溃或异常的情况。也可以使用信号和槽机制来处理窗口的状态和依赖关系,以提高程序的健壮性和可扩展性。

MyWidget w被加入到layout,layout又绑定到w2,那么碰迅这棵对象树是w2有layout和w两个子控件。

在程序退出纯昌,w2析构时,会析构掉w,然而w又是栈上的对象,会被再笑裤此次析构。两次析构,引发异常。

这是Qt有明显指出的问题。所以放在对象树上的东西,最好是new出来的。

注意: 系统默认core文件的大小为0,如果在项目租罩的目录没有产弊巧闹生 core 文件,则需要用 ulimit 命令查看和修改core文件的大小。使用 ulimit -a 查看大小,使用 ulimit -c unlimited 设置core文件不宽没做限制。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12313015.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存