先记录一笔后续补上 :
大致是 c++ 继承QAbstractListModel 重写自定义model
该model 内放入 一张表信息, 为 QList<Record> list 存储一张表的所有信息
Record 为一张表的一条记录, 然后 model 中提供一个函数 Record * getRecord(int row)
获取某一行的一条记录,此处错误将 成员里的 list[row] 传递给了界面,导致该块内存的重复释放
Record 在 main.cpp 中 通过
qmlRegisterType<Record>("uri", 1, 0, "Record "); 注册进qml中提供给界面接收用。 然后界面关闭后主动将该块内存释放了,导致内存的重复释放,
解决办法: 在 Record * getRecord(int row) 中 new Record 一块内存 提供给界面用
Record *data = new Record;
(*data) = ist[row]
解决内存多次释放问题