报错:
Release of profile requested but WebEnginePage still not deleted. Expect troubles!
Qt将系统产生的信号(软件中断)转换成Qt事件,并且将事件封装成类,所有的事件类都是由QEvent派生的,事件的产生和处理就是Qt程序的主轴,且伴随着整个程序的运行周期。因此我们说,Qt是事件驱动的。
关闭程序时网页还在事件循环(event loop)上运行,立即关闭造成冲突就会报错。
而使用 deleteLater();
函数等待当前对象返回到event-loop后再删除,增强程序的健壮性。
解决方案
参考资料:Qt Form
重写closeEvent(QCloseEvent *event),简单示例:
closeEvent(QCloseEvent *event){
event->accept();
deleteLater();
}