Значок файла определен в файле style.kv
вашей установки Kivy
.И на него ссылаются классы FileChooserIconView
и FileChooserIconLayout
как:
_ENTRY_TEMPLATE = 'FileIconEntry'
. Вы можете переопределить этот шаблон, используя что-то вроде:
Builder.load_string('''
[FileIconEntry@Widget]:
locked: False
path: ctx.path
selected: self.path in ctx.controller().selection
size_hint: None, None
on_touch_down: self.collide_point(*args[1].pos) and ctx.controller().entry_touched(self, args[1])
on_touch_up: self.collide_point(*args[1].pos) and ctx.controller().entry_released(self, args[1])
size: '100dp', '100dp'
canvas:
Color:
rgba: 1, 1, 1, 1 if self.selected else 0
BorderImage:
border: 8, 8, 8, 8
pos: root.pos
size: root.size
source: 'atlas://data/images/defaulttheme/filechooser_selected'
Image:
size: '48dp', '48dp'
source: 'atlas://data/images/defaulttheme/filechooser_%s' % ('folder' if ctx.isdir else 'file')
pos: root.x + dp(24), root.y + dp(40)
Label:
text: ctx.name
text_size: (root.width, self.height)
halign: 'center'
shorten: True
size: '100dp', '16dp'
pos: root.x, root.y + dp(16)
Label:
text: '{}'.format(ctx.get_nice_size())
font_size: '11sp'
color: .8, .8, .8, 1
size: '100dp', '16sp'
pos: root.pos
halign: 'center'
''')
Приведенный выше код просто дублируетопределение шаблона из style.kv
, но вы можете внести любые изменения в вышеупомянутый шаблон, и эти изменения будут влиять на FileChooserIconView
.Image
является действительным значком.