Приложение Kivy с моим собственным классом разбилось, когда я загрузил его на kivyLauncher

#python #android #kivy

Вопрос:

Я хочу создать свое первое приложение kivy, но когда я начал запускать его на kivyLauncher, этот код просто разбился. На моем компьютере это приложение отлично работает, и я понятия не имею, что может быть не так.

main.py

 from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.button import Button


class MyBoxLayout(BoxLayout):
    def __init__(self, **kwargs):
        super(MyBoxLayout, self).__init__(**kwargs)

        n = 3
        for i in range(n):
            button = Button(text=f'Button №{i 1}')

            self.add_widget(button)


class NewApp(App):

    def build(self):
        pass


if __name__ == '__main__':
    NewApp().run()

 

новинка.кв

 MyBoxLayout:
 

Ответ №1:

Я считаю kivyLauncher , что поддерживает только Kivy 2. Попробуйте заменить f-string в своем коде что-нибудь более простое, например:

 button = Button(text='Button ' str(i))
 

Комментарии:

1. Твой совет не сработал. Я замечаю, что kivyLauncher успешно запускается только тогда, когда мои собственные классы записываются в отдельные .kv файлы, но те же классы, которые были помещены, main.py завершают запуск.