qt ×掉子窗口后,进程还没有停止的问题

博客讨论了在Qt环境中遇到的子窗口关闭后仍接收数据的问题。解决方案在于设置窗口属性Qt::WA_QuitOnClose,确保窗口关闭时执行析构函数。首先,为子窗口设置该属性以确保即时析构,但会导致父窗口关闭后子窗口需手动关闭。为解决这个问题,同时也为父窗口设置Qt::WA_QuitOnClose属性,并在父窗口析构函数中先调用子窗口的析构函数,实现子窗口随父窗口一同关闭。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

×掉子窗口后,子窗口还在接受数据的问题

  • 当子窗口显示时,先关闭父窗口,调用的先后顺序为:
    请添加图片描述

  • 当子窗口显示时,先关闭子窗口,调用的先后顺序为:
    请添加图片描述
    找到原因:此时子窗口的析构函数没有执行
    解决方案:
    先说解决方案:给子窗口设置以下属性:

setAttribute(Qt::WA_QuitOnClose,  true); //关闭此窗口,会立即执行析构函数

这时会出现关闭父窗口后,子窗口需要手动关闭的问题

我们需要关闭父窗口后,子窗口会一起关闭
解决方案:
给父窗口也设置以下属性:

setAttribute(Qt::WA_QuitOnClose,  true); //关闭此窗口,会立即执行析构函数

然后在父窗口的析构函数中先调用子窗口的析构函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值