微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Kivy中使用Filechooser选择文件夹

如何解决如何在Kivy中使用Filechooser选择文件夹

这是我的python代码

class Filechooser(Screen):
    def select(self,*args): 
        try: self.label.text = args[1][0] 
        except: pass
    def load(self,path):
        with open(path) as stream:
            global file_directory
            file_directory=stream.read()
        self.dismiss_popup()

当我选择一个文件夹并单击“加载”时,就会出现此错误

   File "main.py",line 19,in load
     with open(path) as stream:
 PermissionError: [Errno 13] Permission denied: 'C:\\movies'

显示权限错误,我该怎么办

解决方法

我无法做你想做的事,但我发现你可以使用 tkinter 来完成这项任务。顺便说一句,我正在使用 StringProperty 来存储路径,我不知道这是否是正确的方法,我是 Kivy 的新手。

KV

<BrowseApp>:
    cols: 2
    Button:
        text: 'Browse...'
        size_hint_x: 0.3
        on_release: root.get_path()
    Label:
        id: pathLabel
        text: root.pathVar

PY

# Import modules
import tkinter as tk
from tkinter import filedialog

from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.properties import *

from kivy.core.window import Window
Window.size = (600,50)

class BrowseApp(GridLayout):
    # variable to store path dir
    pathVar = StringProperty("< Select a folder >")

    # Function to select dir
    def get_path(self):
        root = tk.Tk()
        root.withdraw()
        pathVar = filedialog.askdirectory()
        self.ids.pathLabel.text = pathVar  # Change text of label

# ---- App Class
class loader(App):
    def build(self):
        return BrowseApp()

if __name__ == "__main__":
    loader().run()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。