Передать в screen manager путь к изображению
В общем, в чём соль: Я делаю типо базы данных, где будет храниться инфа по различным видам артиллерии, так воот, как, дабы избежать создания сотни+ окон с описаниями каждой модели, передавать, с нажатием кнопки в первом окне screen manager, путь к изображению,в окно описания? Ибо проблема в том, что у меня только два окна на данный момент: меню и описание, и мне с окна меню в окно описание нужно каждый раз передавать разные картинки.
Код py:
from kivymd.uix.boxlayout import MDBoxLayout
from kivymd.app import MDApp
from kivymd.uix.tab import MDTabsBase
from kivy.uix.screenmanager import ScreenManager, Screen, WipeTransition
class Tab(MDBoxLayout, MDTabsBase):
'''Class implementing content for a tab.'''
class Manager(ScreenManager):
pass
class MenuScreen(Screen):
pass
class ArtaScreen(Screen):
def image_1(self):
if self.manager.has_screen('arta 1'):
image_1= \
source='Image/bm1.png'
return image_1
class WarWiki(MDApp):
def build(self):
self.theme_cls.theme_style = "Dark"
self.theme_cls.primary_palette = "Gray"
return Builder.load_string(KV)
WarWiki().run()
Код kv:
Manager:
MenuScreen:
name: "menu"
ArtaScreen:
name: "arta 1"
<MenuScreen>:
MDScreen:
MDTopAppBar:
title: "Энциклопедия"
pos_hint: {"top":1}
MDTabs:
pos_hint: {"top":.92}
Tab:
title: "Артиллерия"
MDCard:
ripple_behavior: True
size_hint: 1, .1
pos_hint: {"center_y":.942}
on_touch_down: root.manager.current="arta 1"
FitImage:
source: "Image/bastion01.png"
size_hint: .6, 1
Tab:
title: "Авиация"
Tab:
title: "Тяжёлая техника"
<ArtaScreen>:
MDScreen:
id: bastion_01
FitImage:
id: bastion_01
source: root.image_1()
size_hint: 1, .2
pos_hint: {"top": 1}
'''