Qt5 中使用了QQuickWidget,程序退出时容易崩溃的解决办法。

 在Qt5中为了很好的将qml嵌入QWidget中,引入了QQuickWidget,使用起来比较方便。

但我在使用过程中,发现了一个问题,如果定义了一个QQuickWidget指针做类的成员变量加载qml,这样在程序退出时程序会崩溃,这个问题虽然不影响程序的使用,但毕竟是个bug,也困扰了我好久。后经不断实验,找到了问题处。

这个问题是在程序退出时,析构引起的,具体问题出在QQuickWidget上;解决办法就是在析构时需要手动delete  QQuickWidget指针。这时候我又发现了另外一个问题,我在程序中使用了StringListModel,所以需要用到 rootContext,他作为类成员时在析构时是不能delete的,如果delete了,也会造成程序退出崩溃。

当然,作为小菜鸟的我并不能看透这里面的门道,也就无从得知QQuickWidget析构时为什么需要注意这些,所以我也只是用最笨的办法试出了解决办法。欢迎各路大神进行指导这里面的工作原理以及门道!

对于其他类似于Qt内存管理造成的程序退出崩溃,我就不班门弄斧了,毕竟网上的很多大神已经叙述过了这方面的问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值