问题说明了一切。我正在尝试使用 python 和 pygtk 为 UI 创建一个文件传输应用程序。大部分代码都是完整的,唯一的问题是用于列出远程主机文件列表的 UI。
我真的很喜欢 Gtk 对话框选择器小部件,并且已经使用它来列出本地机器文件列表。我真的很想使用相同的小部件来列出远程目标的文件。这可能吗?
从paramiko标签中,我假设您正在使用它来处理 SSH。GTK+ 文件选择器无法手动填充,因此您尝试执行的操作是不可能的。
然而,大多数 GTK+ 软件包都带有GIO+GVFS [1]。这是一个完全独立于 Paramiko 的框架,但您应该能够同时使用这两者(甚至完全放弃 Paramiko)。
[1] 一个重要的警告是 GVFS 在 Windows 中仍然不存在(并且可能永远不会存在)。如果你需要支持 Windows,你也许可以使用旧的GnomeVFS,但我不知道如何。
要将 GIO 与 GTK+ 文件选择器一起使用:
uri = 'sftp://foo.example.org/a/b/c'
gvfs-mount
先运行测试)。要使用链接代码:
f = gio.File(uri)
mount(f)
file_chooser.set_current_folder_uri(uri)