문제

wxPython의 드래그 앤 드롭에 약간 당혹 스럽습니다 (하지만이 질문은 다른 GUI 프레임 워크에서도 드래그 앤 드롭과 관련이 있습니다).프레임 워크는 몇 가지 콜백 (OnEnter 및 OnDragOver)을 제공하여 현재 마우스 위치가 드래그되는 것을 드롭 할 수있는 유효한 위치인지 시스템에 알릴 수 있도록합니다.이 메서드에서 wx.DragNone, wx.DragCopy 등을 반환 할 수 있습니다. 저를 당황하게하는 것은 이러한 메서드 내에서 GetData를 호출 할 수 없다는 것입니다. 즉, 사용자가 드래그하는 데이터를 검사 할 수 없다는 의미입니다.데이터를 볼 수없는 경우 사용자가 여기에 드롭해도 괜찮은지 어떻게 알 수 있습니까?

도움이 되었습니까?

해결책

유용성이 제한되어있는 한 가지 해결책은 드래그가 시작될 때 드래그 된 데이터를 전역 또는 정적 참조 어딘가에 저장하는 것입니다.이렇게하면 OnEnter 및 OnDragOver 핸들러에서 드래그되는 데이터에 대한 참조를 가져올 수 있습니다.물론 이것은 동일한 응용 프로그램 (실제로는 동일한 응용 프로그램 인스턴스) 내에서 드래그 할 때만 유용합니다.

다른 팁

OnEnterOnDragOver 메서드에서는 드래그 된 데이터를 볼 수 없습니다.

내가 찾은 유일한 해결책은 드래그 된 항목을이 메서드 내에서 읽을 수있는 인스턴스 변수에 저장하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top