【发布时间】:2012-03-01 01:52:42
【问题描述】:
我对 QMimeData 进行了子类化,并且拖放在我的小部件中工作得非常好——对于 copyAction 和 MoveAction,数据会根据需要被复制和移动(基于 shift / ctrl 键等)
为了兼容性,我支持其他简单格式,例如 text/plain - 主要问题是,对于这些兼容格式,我不能允许将拖放操作“移动”到其他应用程序。
例如,我允许将数据从小部件拖放到某个文本框——但前提是它是“copyAction”。但是,我看不出有任何强制方式。
问题:如何强制所有外部小部件的拖放操作为“复制操作”,同时允许在我的小部件内复制/移动?????
“强制”意味着无论用户选择什么(ctrl、shift 或其他) - 当针对兼容格式发生拖动时,我的数据应该始终被“复制”而不是“移动”。 (虽然它应该允许复制和移动其原生格式)
如何在 Qt 中强制执行?
【问题讨论】:
标签: qt drag-and-drop