Qt 4.x を使用して、C++ で記述された小さなファイル転送アプリケーションを作成しました。サーバーにログインし、サーバーで利用可能なファイルのリストをユーザーに表示し、ユーザーがファイルをアップロードまたはダウンロードできるようにします。
これはすべて正常に機能します。デスクトップ (または開いているフォルダー) からファイルをドラッグすることもできます。ファイル アイコンをサーバー ファイル リスト ビューにドロップすると、ドロップされたファイルがサーバーにアップロードされます。
今、私は反対の行動も要求しています。私のユーザーは、ファイルをサーバー ファイル リスト ビューからデスクトップまたは開いているフォルダー ウィンドウにドラッグし、そのファイルをその場所にダウンロードできるようにしたいと考えています。
それは合理的な要求のように思えますが、それを実装する方法がわかりません。アイコンがデスクトップまたは開いているフォルダー ウィンドウにドロップされたときに、Qt アプリケーションが「ドロップ イベント」が発生した場所に対応するディレクトリを見つける方法はありますか? 理想的には、これは Qt ベースのプラットフォームに依存しないメカニズムですが、それが存在しない場合は、MacOS/X および Windows (XP 以降) のプラットフォーム固有のメカニズムで十分です。