В kivy2 или kivymd есть ли способ динамического создания экрана без добавления их в файл kv

#python #kivy #screen #kivymd

#python #kivy #экран #kivymd

Вопрос:

например… допустим, у меня много продуктов.

я хочу, чтобы программа могла знать, что был нажат определенный продукт… достаточно просто

но тогда я хочу, чтобы программа создала экран на основе шаблона

в основном на лету.

спасибо за помощь

это то, что я пробовал до сих пор.

 def Create_New_Product_Screen(self,question,Screen_Name):
    print(self,Screen_Name 'Made it here')
    sm = ScreenManager()
    screen = Screen(name=Screen_Name)
    sm.add_widget(screen)
    #sm.current = Screen_Name
    app = MDApp.get_running_app()
    app.change_screen(Screen_Name)
 

Ответ №1:

 def Create_New_Screen(self,Screen_Name):
    app = MDApp.get_running_app()
    sm = app.root.ids['screen_manager']
    screen = Screen(name=Screen_Name)
    sm.add_widget(screen)
    sm.current = Screen_Name
 

Теперь мне просто нужно выяснить, как создавать шаблоны для экранов
, но это сработало… мне пришлось найти диспетчер экранов в файле kivy
, а затем вызвать его и создать экран, а затем изменить его.