我目前正在尝试构建一个按钮作为我的程序的一部分,在各种屏幕上迭代TextInput对象(虽然我目前只在一个屏幕上使用它)并使用对象自动绑定每个单独的TextInput ID作为其键,并将任何文本输入到TextInput中作为其值。
我从https://kivy.org/docs/_modules/kivy/storage/dictstore.html复制了DictStore源代码 说实话,我不确定如何引用它。
我的按钮,标签和TextInput看起来像这样。我只有Save_Button通过,因为我不知道如何设置下一部分。
class Save_Button(Button):
pass
class Ability(Label):
pass
class Base(TextInput):
pass
我的ScreenManager看起来像这样:
cs = ScreenManager()
cs.add_widget(Main_Screen(name = "mainscreen"))
cs.add_widget(Character_Details(name = "characterdetails"))
cs.add_widget(Skills_Sheet(name = "skillssheet"))
cs.add_widget(Items(name = "items"))
cs.add_widget(Level_Progression(name = "levelprogression"))
My TextInputs在我的kivy文件中构建如下,各种描述符描述了几种不同的类型。
<Base>:
id: "base"
multiline: False
size_hint: 0.05, 0.05
background_color: (0, 1, 0.5, 0.5)
<Enhancement>:
id: "enhancement"
multiline: False
size_hint: 0.1, 0.05
background_color: (0, 1, 0.5, 0.5)
然后各种具体的输入看起来像这样:
Base:
id: con_base
pos_hint: { "x": 0.05, "y": 0.65}
Base:
id: int_base
pos_hint: { "x": 0.05, "y": 0.60}
Enhancement:
id: str_enhancement
pos_hint: { "x": 0.115, "y": 0.75}
Enhancement:
id: dex_enhancement
pos_hint: { "x": 0.115, "y": 0.70}