这是上下文:
我正在做一个Maya插件.其中一个功能要求我将一个元素从“大纲视图”窗口拖到我的插件UI的UI元素上. (Maya中的所有内容都在Qt中)
从大纲中,我可以拖动一个项目并将其删除.对于熟悉Qt的人来说,你会知道DropEvent附带了一个QMimeData对象.
此对象包含来自拖放源(“大纲视图”窗口)的数据.在我的例子中,QMimeData格式是“application / x-maya-data”. QMimeData.data()返回的QByteArray长度为8个字节,前4个为NULL.所以,我的预感是这是一个指向某些数据类型的指针.
我正在做一个Maya插件.其中一个功能要求我将一个元素从“大纲视图”窗口拖到我的插件UI的UI元素上. (Maya中的所有内容都在Qt中)
从大纲中,我可以拖动一个项目并将其删除.对于熟悉Qt的人来说,你会知道DropEvent附带了一个QMimeData对象.
此对象包含来自拖放源(“大纲视图”窗口)的数据.在我的例子中,QMimeData格式是“application / x-maya-data”. QMimeData.data()返回的QByteArray长度为8个字节,前4个为NULL.所以,我的预感是这是一个指向某些数据类型的指针.
所以,这是问题:
有没有办法确定指针指向哪种类型的数据?我已经尝试将它转换为几个Maya数据结构(MPxData,MObjectHandle等),但没有成功.
解决方法
您可以尝试删除它两次,然后在内存调试器(如valgrind)中运行程序,这会抛出错误并显示内存已分配的位置.
但是,您可能还会考虑社交来源:文档或项目的邮件列表.