2016-11-09 99 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屬性中。如果不是,則另一個函數輪到該列表結束。