刷新/重新加载 FileChooser
问题描述
目前我经常使用 FileChooser
并且我没有在 文档.小部件很棒,但是如果有人想刷新显示的文件,则需要从当前目录移动以刷新文件.
Currently I'm working with FileChooser
a lot and I didn't find any mention of refreshing the widget in the docs. The widget is awesome, but if someone wants to refresh shown files, a movement from current directory is necessary to refresh files.
问题是当你有一个 single 目录作为 rootpath
并且里面只有文件时,因此不可能进行这样的移动.
The problem is when you have a single directory as a rootpath
and inside are only files, therefore no such movement is possible.
我的问题是如何刷新小部件,如果我想避免任何浪费的删除/添加 FileChooser
并尽可能缩短 FileChooser
非常嵌套在 kv
文件中.
My question was how to refresh the widget if I want to avoid any wasteful removing/adding of FileChooser
and do it as short as possible for a FileChooser
that is very nested in a kv
file.
解决方案
我搜索了 filechooser.py
找到了 code 在目录之间的每次移动时触发.考虑到 FileChooserIconView
和 FileChooserListView
继承自 FileChooserController
的事实,对函数的访问很简单,不需要额外的导入.
After I searched filechooser.py
I found the code which is triggered on each movement between directories. Giving the fact the FileChooserIconView
and FileChooserListView
inherit from FileChooserController
, the access to the function is simple and no additional imports are required.
假设我们有 filechooser = FileChooserIconView()
:
filechooser._update_files()
运行良好,当 FileChooser
嵌套在某处时,使用 id
filechooser._update_files()
works well and when is FileChooser
nested somewhere, it's easy to access it with id
如需更多调整,Clock.schedule_interval(filechooser._update_files, t)
可能会对您在合理时间内更新目录内容有所帮助.
For more tweaks Clock.schedule_interval(filechooser._update_files, t)
may be helpful where you can update your directory content within a reasonable time.
(我在这里添加它,因为我没有发现它,但是它可能对某人有用.)
(I add it here, because I found no mention of it, however it may be useful to someone.)
相关文章