在我的Qt小部件中,我有时会收到此错误:
malloc(): smallbin double linked list corrupted
它并不是一直发生,但我认为我已经缩小到它开始的时候。
我有一个QGraphicsView和QGraphicsScene,我在那里绘制点,这些点存储在一个向量中。原因是我需要将这些点传递给另一个库。一旦我绘制了点,我有一个选项,如果我点击一行,我会被提示到另一个窗口,在那里我可以改变一条线的坐标。
ResizeDialog *dialog = new ResizeDialog(this);
dialog->exec();
delete dialog;
上面的代码是我用来打开新QDialog的代码。我知道我是否使用this->close()
qt malloc():smallbin双链表损坏没有出现,但后来我丢失了QGraphicsView的实例。原因如果我需要选择添加更多行,我需要保持QGraphicsView窗口打开。
关于如何消除这个问题的任何建议都会有所帮助。
答案 0 :(得分:0)
使用delete dialog;
而不是dialog->deleteLater();
。我假设小代码部分位于“this
”引用的对象的插槽内,直接删除是麻烦的来源,因为ResizeDialog *dialog = new ResizeDialog(this);
会影响父对象this
。