コード
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
from os.path import join, isdir
#from kivy.uix.filechooser import FileChooserListView
from kivy.uix.filechooser import FileChooserIconView
#class DirectoryChooser(FileChooserListView):
class DirectoryChooser(FileChooserIconView):
def is_dir(self,directory,filename):
return isdir(join(directory,filename))
class MyWidget(BoxLayout):
orientation='vertical'
def __init__(self,**kwargs):
super(MyWidget,self).__init__(**kwargs)
self.dc =DirectoryChooser(size_hint_y=1)
self.dc.filters=[self.dc.is_dir]
self.add_widget(self.dc)
class MyApp(App):
def build(self):
layout = MyWidget()
return layout
if __name__ == '__main__':
MyApp().run()
※追記 ubuntu20.04 上の python3 + python3-kivy にて動作を確認しました
※追記 Android + Kivy Launcher 上ですと4.4~6までしか動作しないようです
尚、コメントアウトしている FileChooserListView の行と FileChooserIconView を入れ替えるとリストビュー型になります。
うーん。やっぱりKVファイル挟まない方が書きやすいと思う私は旧人類なんでしょうかねえ?
0 件のコメント:
コメントを投稿