KivyMD - значки MDDropdownMenu не отображаются (Kivy на Python 3.7)
Я скопировал пример из документации KivyMD MDDropdownMenu, но не получаю того же результата, что и в примере, значки не отображаются.
Пример:
from kivy.lang import Builder
from kivymd.app import MDApp
from kivymd.uix.menu import MDDropdownMenu, RightContent
KV = '''
<RightContentCls>
disabled: True
MDIconButton:
icon: root.icon
user_font_size: "16sp"
pos_hint: {"center_y": .5}
MDLabel:
text: root.text
font_style: "Caption"
size_hint_x: None
width: self.texture_size[0]
text_size: None, None
Screen:
MDRaisedButton:
id: button
text: "PRESS ME"
pos_hint: {"center_x": .5, "center_y": .5}
on_release: app.menu.open()
'''
class RightContentCls(RightContent):
pass
class Test(MDApp):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.screen = Builder.load_string(KV)
menu_items = []
data = [
{"": "Open"},
{},
{"open-in-app": "Open in app >"},
{"trash-can-outline": "Move to Trash"},
{"rename-box": "Rename"},
{"zip-box-outline": "Create zip"},
{},
{"": "Properties"},
]
for data_item in data:
if data_item:
if list(data_item.items())[0][1].endswith(">"):
menu_items.append(
{
"right_content_cls": RightContentCls(
icon="menu-right-outline",
),
"icon": list(data_item.items())[0][0],
"text": list(data_item.items())[0][1][:-2],
"height": "36dp",
"top_pad": "10dp",
"bot_pad": "10dp",
"divider": None,
}
)
else:
menu_items.append(
{
"text": list(data_item.items())[0][1],
"icon": list(data_item.items())[0][0],
"font_style": "Caption",
"height": "36dp",
"top_pad": "10dp",
"bot_pad": "10dp",
"divider": None,
}
)
else:
menu_items.append(
{"viewclass": "MDSeparator", "height": 1}
)
self.menu = MDDropdownMenu(
caller=self.screen.ids.button,
items=menu_items,
width_mult=4,
callback=self.menu_callback,
)
def menu_callback(self, instance):
print(instance)
def build(self):
return self.screen
Test().run()
Ожидаемый результат:
Мой результат:
Моя среда:
- ОС: Windows 10
- Python: v3.7.8
- Киви: v1.11.1
- KivyMD: v0.104.1
1 ответ
При сборке пакета включите в требования следующие спецификации:
requirements = python3,kivy==2.0.0rc3,git+https://github.com/HeaTTheatR/KivyMD.git,sdl2_ttf==2.0.15