GTK+ 拖拽文件到 GUI

GTK+ Drag File Onto GUI

我正在使用 GTK+ 和 C 开发一个应用程序,想知道是否有一种方法可以支持将文件拖动到 GUI(跨文件资源管理器和桌面环境)。我已经能够实现拖动文本(通过 gtk_drag_dest_setg_signal_connect)但是将文件拖动到 GUI 上没有效果。我想知道这是否因发行版和桌面环境而异,或者是否有通用的好方法。我的删除文本代码是 here and the Makefile here.

当然有办法做到这一点?我能够将文件拖到 Firefox、Sublime Text 和 VS Code 等应用程序中...

编辑(澄清):我正在使用 XFCE,但我想找到一个支持其他桌面(如 Gnome 和 KDE)的解决方案。

将您的目标条目更改为:

static GtkTargetEntry targetentries[] =
{
      { "STRING",        0, TARGET_STRING },
      { "text/plain",    0, TARGET_STRING },
      { "text/uri-list", 0, TARGET_URL },
};

您没有告诉 GTK+ 的项目 (text/uri-list):“我希望您侦听正在拖入的文件。 我找到这个的地方在这里:https://en.m.wikibooks.org/wiki/GTK%2B_By_Example/Tree_View/DnD

我在研究面向 GNU Coreutils 的 GUI GTK+ 时发现了这个页面 shred