我有一段代码。(1) TextInput的值应该被显示出来,但在点击相应的CheckBox之前它不应该是可编辑的。点击后,TextInput将变为可编辑状态。
(2) 使用迭代,Label和TextInput应该获得值。Label和TextInput的值不应该是硬编码的。(虽然在我的代码中有,但我已经得到了@FJSevilla的帮助)。
(3) 然而,Label和TextInput的值存储在以JSON格式存储的变量中。类似于这样(你可以把它看作是键值对的映射) [变量 = '{"a" : " Goc" , "b" : "Coc", "c" : "Dow" } '] (你可以查看图表以获得更清晰的解释)。
非常感谢您的帮助。
from kivy.app import App
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.lang import Builder
Builder.load_string("""
<Test>:
do_default_tab: False
TabbedPanelItem:
text: 'page1'
BoxLayout:
padding: 50, 50, 50, 50
orientation: 'horizontal'
BoxLayout:
spacing: 50
orientation: 'vertical'
size_hint_x: 1
Label:
text: 'a'
Label:
text: 'b'
Label:
text: 'c'
BoxLayout:
spacing: 50
orientation: 'vertical'
TextInput:
text: 'Goc'
TextInput:
text: 'Coc'
TextInput:
text: 'Dow'
BoxLayout:
spacing: 50
orientation: 'vertical'
size_hint_x: 0.40
CheckBox:
text: 'CheckBox'
CheckBox:
text: 'CheckBox'
CheckBox:
text: 'CheckBox'
BoxLayout:
spacing: 50
orientation: 'vertical'
size_hint_x: 0.60
Button:
text: 'save'
Button:
text: 'save'
Button:
text: 'save'
""")
class Test(TabbedPanel):
pass
class MyApp(App):
def build(self):
test = Test()
return test
if __name__ == '__main__':
MyApp().run()