wxpython:如何检查OnDragOver中的拖动数据?

Lan*_*uhn 6 python user-interface wxwidgets wxpython drag-and-drop

我对wxPython中的拖放感到有些困惑(但也许这些问题也适用于其他GUI框架中的拖放).框架提供了几个回调(OnEnter和OnDragOver),据称这些回调允许我通知系统当前鼠标位置是否是一个有效的位置,可以删除被拖动的任何内容.从这些方法我可以返回wx.DragNone,wx.DragCopy等.令我感到困惑的是,从这些方法中我不允许调用GetData,这意味着我不允许检查用户拖动的数据.如果我看不到数据,我怎么知道用户是否可以放弃这里?

Lan*_*uhn 1

一种解决方案是实用性有限的一种解决方案,即当启动拖动时,将拖动的数据存储在某处的全局或静态引用中。这样,在 OnEnter 和 OnDragOver 处理程序中,可以获得对正在拖动的数据的引用。当然,这仅适用于同一应用程序(实际上是应用程序的同一实例)内的拖动。