Запуск нескольких готовых приложений Kivy через главное меню
Есть уже несколько готовых игр/приложений, нужно объединить их в одну программу. Чтобы не городить огромный код создал пакет mygame
. И в него засунул главное меню main.py
в котором допустим есть 3 кнопки: запустить игру1, игру2, игру3. По моей логике каждую игру/программу написал в отдельном файле: calculator.py
, test.py
, test2.py
. Теперь мучаюсь, как запустить каждую игру из основного меню по нажатию кнопки, думал всё просто, как-то вот так:
bt.bind(on_press=calculator.MainApp.run)
Но нет, уже голову сломал. Подскажите что делаю не так? Как вариант можно использовать ScreenManager
но опять же громоздко будет, придётся переписывать готовые игры и высовывать из них main_layout
'ы, вот начал:
class MyApp(App):
def build(self):
# main_layout = ScreenManager(transition=SlideTransition(duration=2, direction="left"))
main_layout = ScreenManager(transition=NoTransition())
screen1 = Screen(name="screen_1")
bl = BoxLayout(orientation="vertical")
bl.add_widget(Label(text="SKRIN_1"))
button1 = Button(text="Включить калькулятор")
bl.add_widget(button1)
def go_second_page(instance):
main_layout.current = "screen_2"
button1.bind(on_press=go_second_page)
screen1.add_widget(bl)
main_layout.add_widget(screen1)
screen2 = Screen(name="screen_2")
tl = test2.GO()
screen2.add_widget(tl)
main_layout.add_widget(screen2)
return main_layout
Но чувствую прям рукожопно так делать, было бы в разы удобнее запускать уже написанные программы импортировав их.