私がしようとしているのは、FTPクライアントがFTPサーバーのすべてのファイルを一覧表示するのと同じようにオンラインファイルのリストビューを表示することです。任意の行を任意のローカルフォルダにドラッグして、ドラッグしたファイルをそこに保存することができます。 retrieveDataをドラッグイベントのinitQt Windowsエクスプローラへのドラッグアンドドロップ:ドロップ先のパスを知るにはどうすればいいですか
- 、および[完了]
- サブクラスQMimeDataクラスサーバー上で選択されたファイルのパスを保存し、上書き:私はfollwingの手順を介してこれを実装する予定です
機能このスレッドが示唆同じようhere [完了]ドラッグ&ドロップのプロセスを終了し、をドロップ先のパスを見つける
- 、Cは言う:\ somefolder \サブフォルダ、そしてそこにすべてのファイルをダウンロードし、作業完了です。 [未完了]
しかし、ドロップイベントデスティネーションパスを取得するための場所が見つかりませんでした。ドラッグイベント\ dragMove \ dragLeave \ dropイベントを処理しても見つかりませんでした。私はまた、Google検索のトンをやったことがいくつかの同様の質問を見つけたが、決して固い答え。
これについていくつか明記してください。この解決法はQTでも可能ですか?どのように目的地のパスを取得するか、この目的を達成する他の方法はありますか?
Windowsは、ドロップのターゲットを検出する方法を提供していません。 [非同期データ転送](https://msdn.microsoft.com/en-us/library/windows/desktop/bb776904.aspx#async)を実行する方法を提供します。私はあなたがQtだけでそれを取り除くことはできないと確信しています。Windows APIを直接使用する必要があります。 –
@IgorTandetnikは返信をありがとう、私はIAsyncOperationが私が望むものを達成することができるかもしれないと信じていますが、私は別の方法を選択します。私はちょうどドラッグイベントを与えるので、ドラッグが存在しないように見えるように、URLリストとして存在しないいくつかのファイルを与えます。落としたとき、もちろん、何もファイルのURLリストが偽であるということは起こりません。私はちょうどドロップ位置でウィンドウHWNDを見つけ、そのパスを見つけることを試みる[http://forums.codeguru.com/showthread.php?440285-Get-directory-path-from-explorer-window]、ちょうどダウンロードそこに私のファイル。これはもちろん馬鹿ですが、私にとっては実装が簡単です。 – Sean
フォルダアイコンをドロップするとどうなりますか?(ファイルが移動するフォルダは、エクスプローラウィンドウと同じフォルダではありません)または、プリンタのアイコンをクリックします(この場合、エクスプローラは一時ディレクトリに最初にドロップしたいと思います)。 –