現在文件選擇器打開作爲默認位置的根目錄,但我希望它跳過並默認打開內部存儲(sdcard),用戶可以從此處下載。Kivy - 更改FileChooser默認位置
這是一個剪斷我的代碼到目前爲止 類:
class LoadDialog(FloatLayout):
load = ObjectProperty(None)
cancel = ObjectProperty(None)
在KV文件
<LoadDialog>:
BoxLayout:
size: root.size
pos: root.pos
orientation: "vertical"
FileChooserListView:
id: filechooser
BoxLayout:
size_hint_y: None
height: 30
Button:
text: "Cancel"
on_release: root.cancel()
Button:
text: "Load"
on_release: root.load(filechooser.path, filechooser.selection)
實際加載代碼的定義:
def show_load(self):
content = LoadDialog(load=self.load, cancel=self.dismiss_popup)
self._popup = Popup(title="Load file", content=content,
size_hint=(0.9, 0.9))
self._popup.open()
def load(self, path, filename):
wimg = os.path.join(path, filename[0])
self.image_source = wimg
self.dismiss_popup()
所以基本上用戶不應該去1個目錄去SD卡,應該已經在那裏。最糟糕的情況是過濾所有其他文件夾,除了那些包含單詞sdcard的文件夾。
現在SD卡的路徑不包含單詞SD卡。而SD卡不是內部存儲。 – greenapps
從我看到的,在Android 4中至少內部存儲是sdcard這是一個symblink。我需要的位置基本上是DCIM文件夾的父節點 – Nick
那麼這將是getExternalStorageDirectory()。 – greenapps