1、崩溃问题
自定义listItem,new出来之后,设置成员QLable的text,发生崩溃。
崩溃位置发生在qt的qaccessiblewidget.cpp;
2、解决过程
针对崩溃发生在QAccessibleWidget::window()指针为空,查询资料相关文档,在Loading...的bug报告有相关崩溃现象,在
记录有与我们代码中一致的过程,new了派生的对象,在new之前delete,在析构中有调用断开所有连接,
解释是在QObject中调用disconnect all Signals方法可能会导致不必要的副作用,甚至崩溃。已知的崩溃发生在Windows上Qt可访问性实现的上下文中,其中QObjects是通过被破坏的信号来跟踪的,断开所有信号会导致悬空指针。
针对这个解释,将该派生类中的断链所有信号槽的语句删除,该崩溃问题不再发生;
3、总结
在QObject派生中避免使用上面断开所有信号槽的用法,断开信号槽要把信号发出对象和槽接受对象参数都写全。