2011-11-14 2 views
1

QT 응용 프로그램에서 드래그 & 드롭을 사용 가능하게 설정할 수 있습니까? 내 응용 프로그램에 파일을 드래그하고 싶습니다. 및 경로를 읽으려는 것입니다.파일을 QT 응용 프로그램으로 드래그 앤 드롭 할 수 있습니까?

나는 추가 정보 검색 드래그 & 드롭의 예를보고되었지만 난 단지 그 드래그 & 드롭 QT 응용 프로그램의 내부 위젯 사이 작동 알아 냈어.

미리 감사드립니다.

+1

예 : http://bit.ly/snRizQ의 – mikerobi

+0

가능한 중복 : ([Qt는 드래그 앤 드롭 응용 프로그램의 메인 창에 파일을 드래그 허용] http://stackoverflow.com/questions/14895302/qt- 끌어서 놓기 허용 - 파일 - 투 - 응용 프로그램 - 주 창) – sashoalm

답변

2

위젯으로 드래그 한 파일의 경우 QMimeData는 파일 경로 인 urls을 갖습니다. http://doc.qt.io/qt-5/dnd.html#drag-and-drop-actions에서

:

드래그 동작의 주요 사용 등의 드래그 된 데이터가 실제로 파일 또는 객체에 대한 참조 텍스트/URI 목록으로 참조 형식을 사용하는 경우입니다.

+0

좋아, 함수가 작동하는 것처럼 보이고 응용 프로그램이 드래그에 응답합니다. 그러나 객체가 드래그 될 때 아이콘에 대해 무엇을합니까? 나는 여전히 교차 된 원이 있음을 나타냅니다. 아이콘을 직접 변경해야합니까? 이 올바른지? –

+0

@mateusz_s 당신은'dragEnterEvent'를 구현하고 이벤트를 받아 들일 필요가 있습니다. –

+0

좋아, 마침내 작동하지만 문제는 응용 프로그램을 실행하는 중이었던 것 같습니다. QT에서 실행 중이 었는데 작동하지 않았습니다. 하지만 Windows에서 * .exe 파일로 실행하면 정상적으로 작동합니다. 감사. –