我从QListWidgetItem. 我可以在这个拖动对象中将文本作为 mime 数据发送。
如何发送像素图并从 mime 数据中检索它?甚至可以创建QGraphicsItem并检索它吗?
我尝试从 拖放QListWidget到QGraphicsView.
我从QListWidgetItem. 我可以在这个拖动对象中将文本作为 mime 数据发送。
如何发送像素图并从 mime 数据中检索它?甚至可以创建QGraphicsItem并检索它吗?
我尝试从 拖放QListWidget到QGraphicsView.
有多种方法可以发送QPixmapthrough QMimeData:
image/png(QMimeData对此具有内置支持,参见QMimeData::imageData())。QPixmap化为a并在特定于应用程序的 mime-type 下发送序列化。QByteArrayQDataStreamapplication/x-app-nametext/uri-list(QMimeData对此具有内置支持,参见QMimeData::urls())。这允许将这些图像拖到文件管理器或桌面上。QGraphicsItem,将其地址填充到 aQByteArray中,然后在特定于应用程序的 mime 类型下发送。当然,如果拖动在另一个进程中结束,这将不起作用(接收站点可以测试,因为在这种情况下QDragEvent::source()返回0),并且需要特别注意处理图形项的生命周期。鉴于QMimeData允许您一次传递多种格式,这些选项是非排他性的。但是,您应该对从重新实现返回的格式进行排序,QMimeData::formats()以降低特异性,即您的应用程序私有格式排在第一位,最后排text/uri-list在最后。