지금 바로 파일 선택기가 기본 위치로 루트를 엽니 다.하지만이를 건너 뛰고 기본으로 내부 저장소 (sdcard)를 열면 사용자가 거기에서 내려갈 수 있습니다. Kivy - 변경 FileChooser defaul location
이
는 지금까지 내 코드의 클래스를 냈다된다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()
그래서 기본적으로 사용자는 sdcard에 도착하기 위해 디렉토리를 1 개 올라갈 필요가 없습니다. 이미 존재해야합니다. . 최악의 시나리오는 sdcard라는 단어를 제외하고 다른 모든 폴더를 필터링하는 것입니다.
현재 sd 카드에 대한 경로에는 sdcard라는 단어가 없습니다. 그리고 SD 카드는 내부 저장소가 아닙니다. – greenapps
안드로이드 4에서 나는 무엇을 보았습니다. 적어도 내부 저장 장치는 symblink 인 sdcard입니다. 필요한 위치는 기본적으로 DCIM 폴더의 부모입니다. – Nick
그러면 getExternalStorageDirectory()가됩니다. – greenapps