【问题标题】:Drag-and-drop onto the desktop or into a specific folder, without temporary storage.拖放到桌面或特定文件夹中,无需临时存储。
【发布时间】:2013-06-27 04:44:41
【问题描述】:

我使用 Qt 4.x 编写了一个用 C++ 编写的小型文件传输应用程序。它登录到服务器,向用户显示服务器上可用的文件列表,并让用户上传或下载文件。

这一切都很好;您甚至可以从桌面(或打开的文件夹)拖入文件,当您将文件图标拖放到服务器文件列表视图中时,拖放的文件会上传到服务器。

现在我也要求采取相反的行动。我的用户希望能够将文件从服务器文件列表视图中拖到桌面上,或者拖到打开的文件夹窗口中,然后将该文件下载到该位置。

这似乎是一个合理的要求,但我不知道如何实现它。当图标被拖放到桌面或打开的文件夹窗口时,Qt 应用程序是否有办法找出与“放置事件”发生的位置相对应的目录?理想情况下,这将是一个基于 Qt 的平台中立机制,但如果不存在,那么适用于 MacOS/X 和 Windows(XP 或更高版本)的平台特定机制就足够了。

【问题讨论】:

标签: c++ qt drag-and-drop qt4


【解决方案1】:

尽管我从未完全按照您的意图完成,但我认为这对 Qt 来说是可行的。

您首先必须处理拖动事件。这取决于您用于查看服务器中文件层次结构的视图。无论如何,这里有一个链接可以帮助您从视图中启用拖动文件:http://www.trinitydesktop.org/docs/qt4/model-view-dnd.html 简而言之,它只是几个需要重新实现的虚拟功能。文档随时为您提供帮助。

您还可以看到有关 Qt 中如何处理拖放事件的链接:http://www.trinitydesktop.org/docs/qt4/dnd.html

我正要回答关于 drop 事件的问题时,我注意到 3 年前有人逐字询问了同样的问题...... Qt 4.x: how to implement drag-and-drop onto the desktop or into a folder?

【讨论】:

  • 感谢您的回复。但是我们如何才能找到目标路径,我们必须在哪里下载文件?
猜你喜欢
  • 2011-02-13
  • 2010-11-15
  • 1970-01-01
  • 1970-01-01
  • 2020-02-10
  • 2010-10-12
  • 1970-01-01
  • 1970-01-01
  • 2020-01-25
相关资源
最近更新 更多