2016-11-09 41 views
1

我试图从2个不同的文件(使用拖放文件)获取和存储(以备后用)2个不同的文件路径。Kivy从两个不同的文件获取文件路径

我要让2个labeles和一个按钮:

   "Drop Here Report(label)" "Drop Here Source(label)" 


           "Run(button)" 

我需要定义,只有所述标签是用户可以删除文件,我实在不明白它...

这是到目前为止我的代码:

class WindowFileDropExampleApp(App): 

    def build(self): 
     Window.bind(on_dropfile=self.DropFile) 
     return 

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

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

感谢。

回答

0

在Kivy的回购中,有一个example关于如何使用多个小部件来删除文件,并提供大量关于如何执行该操作的注释。

基本上你需要做一个绑定到on_dropfile事件的“主”功能。该函数将与从自定义小部件中提取的方法列表一起使用。该列表需要通过小部件访问,因此App类似乎是一个合理的选择。您可以通过get_running_app()

这样的小部件得到它会默认使用一个单独的方法,你会为一个单一的on_dropfile事件并在触发事件on_dropfile,它会推出各自的这些功能从列表和检查如果放置在特定自定义小部件的区域中。如果是,则将路径放入text属性中。如果不是,则另一个函数轮到该列表结束。