Ich habe ein Stück Code. (1) Der TextInput-Wert sollte angezeigt werden, aber zuerst sollte er nicht bearbeitet werden können, nach dem Klicken auf die entsprechende CheckBox kann der TextInput editiert werden.
(2) Mit der Iteration sollten das Label und der TextInput den Wert erhalten. Der Wert bei Label und TextInput sollte nicht fest codiert sein (obwohl es in meinem Code vorhanden ist, @FJSevilla hat mir dabei geholfen).
(3) Die Werte von Label und TextInput werden jedoch in einer Variablen im JSON-Format gespeichert. etwas wie das (Sie können wie Schlüssel, Wertpaar in Karte betrachten) [Variable = '{"a": "Goc", "b": "Coc", "c": "Dow"}]] (Sie können siehe Diagramm für mehr Abstand). Ich schätze die Hilfe.wie Aktivieren/Deaktivieren der Bearbeitung in TextInput mit Kivy in Python
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()
Auch können Sie dies in der kv ohne die Funktion in CheckBox tun: on_active. So: TextInput: deaktiviert: nicht CheckBox.active – favcau
@favcau wusste das nicht, danke. Ich habe meine Antwort entsprechend bearbeitet. – PalimPalim
liebe @PalimPalim danke für deine Zeit. Tatsächlich sind einige Probleme immer noch da. (1) Label und TextInput werden beide bearbeitet, müssen aber nur TextInput für ein entsprechendes Label bearbeiten. (2) Nach dem Bearbeiten, wenn ich erneut auf einen CheckButton klicke, sollte der entsprechende TextInput wieder Non_Editable sein. UND (3) die Änderungen sollten im Terminal angezeigt werden (sowohl das geänderte Label als auch TextInput). – crazyDelight