【问题标题】:Kivy: drag n drop, get file pathKivy:拖放,获取文件路径
【发布时间】:2016-10-01 03:03:53
【问题描述】:

在 Kivy 中,我正在尝试构建一个界面,用户可以在其中将文件拖放到小部件(文本输入)中,然后我的代码将检索该文件的文件系统路径(/path/to/users.文件)。这似乎比使用 FileChooser 小部件更简单,但我该怎么做呢?

谢谢!

【问题讨论】:

  • kivy.core.window 有一个on_dropfile 事件,当文件被放到应用程序上时会调度,这里是事件处理程序kivy.org/docs/…

标签: python kivy


【解决方案1】:

使用on_dropfile 事件处理程序。这是一个工作示例:

from kivy.app import App
from kivy.core.window import Window


class WindowFileDropExampleApp(App):
    def build(self):
        Window.bind(on_dropfile=self._on_file_drop)
        return

    def _on_file_drop(self, window, file_path):
        print(file_path)
        return

if __name__ == '__main__':
    WindowFileDropExampleApp().run()

【讨论】:

  • 我用 sudo 在命令行上尝试了这段代码。 sudo kivy dnd.py。它在我的 Mac 上不起作用。 (提供者:sdl2 / Kivy:v1.9.0, / python:v2.7.10 / OS x Sierra)
  • 在 Windows 10 上按预期工作
  • 有没有办法将 Kivy 的文件 out 拖到另一个应用程序中?例如,您可以从 PyCharm 中拖动文件。
猜你喜欢
  • 1970-01-01
  • 2012-07-26
  • 1970-01-01
  • 2021-02-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-23
相关资源
最近更新 更多