wxpython:如何检查 OnDragOver 中拖动的数据?
Posted
技术标签:
【中文标题】wxpython:如何检查 OnDragOver 中拖动的数据?【英文标题】:wxpython: How do I examine dragged data in OnDragOver? 【发布时间】:2010-09-06 19:16:48 【问题描述】:我对 wxPython 中的拖放有点困惑(但也许这个问题也与其他 GUI 框架中的拖放有关)。框架提供了几个回调(OnEnter 和 OnDragOver),据称它们允许我通知系统当前鼠标位置是否是放置正在拖动的任何内容的有效位置。从这些方法中,我可以返回 wx.DragNone、wx.DragCopy 等。让我感到困惑的是,在这些方法中我不能调用 GetData,这意味着我不能检查用户正在拖动的数据。如果我看不到数据,我应该如何知道用户是否可以放下这里?
【问题讨论】:
【参考方案1】:一种解决方案,它是一种有限用处的破解方法,即在启动拖动时,将拖动的数据存储在某个全局或静态引用中。这样,在 OnEnter 和 OnDragOver 处理程序中,可以获得对正在拖动的数据的引用。这当然只对在同一个应用程序(实际上是应用程序的同一个实例)内进行拖动有用。
【讨论】:
【参考方案2】:OnEnter
和OnDragOver
方法中无法查看拖动的数据。
我找到的唯一解决方案是将拖动的项目存储在某个实例变量中,然后在这些方法中可以读取。
【讨论】:
你能扩展一下吗。我曾/正在计划将 Wx 用于一个有趣的项目。以 x/y 返回拖动,是我所指望的。 哦,你可以看到数据被放到了哪里,你只是看不到在拖动时(在用户松开鼠标按钮之前)正在拖动什么,这有时很有用(例如,如果你想要根据拖动的内容更改鼠标指针)。以上是关于wxpython:如何检查 OnDragOver 中拖动的数据?的主要内容,如果未能解决你的问题,请参考以下文章
如何在wxPython 4.0.3中指定单选框内的单选按钮的大小
ondragstart, ondragover,onstart - $scope 未定义
JavaScript addEventListener 不适用于 onDrop、onDragOver 或 onDragStart