如何在kivy上使用filechooser获取文件夹路径

时间:2017-05-22 01:34:53

标签: python kivy

我到处搜寻,发现了几个答案,但我真的不明白。如果你能帮助我,我感激不尽。

我在 Popup 中有 Filechooser 按钮

import...

download_path = StringProperty('')
file_chooser = FileChooserListView(dirselect = True)
btn_pop_downloader = Button(
    ...
)
content_pop_download = BoxLayout(orientation = 'vertical')
content_pop_download.add_widget(file_chooser)
content_pop_download.add_widget(btn_pop_downloader)
pop_downloader = Popup(
    ...
    content = content_pop_download
)

def get_file(self):
    download_path = self.file_chooser.path

btn_pop_downloader.bind(on_release = get_file)

应用程序运行并使用 Filechooser 打开弹出窗口。但是当我按下按钮来获取路径时。我收到以下错误:

download_path = self.file_chooser.path
AttributeError: 'Button' object has no attribute 'file_chooser'

我知道错误是因为解释器认为自变量是按钮。我需要帮助来解决它并把#$%&!变量 download_path

中的文件夹路径

感谢您花时间阅读。

PS:我很新。少了一个月的编码:)

1 个答案:

答案 0 :(得分:0)

我认为此功能可能存在错误:

def get_file(self):
    download_path = self.file_chooser.path

如果你的所有代码都在某个类中,那么get_file()应该得到2个args - 因为当你将函数绑定到button时,这个函数会接收对这个按钮的引用。首先是self,第二个是你的按钮。所以看起来应该是这样的:

def get_file(self, button):
    download_path = self.file_chooser.path

但是如果你的代码不在任何类中,那么它应该是:

def get_file(button):
    download_path = file_chooser.path