【问题标题】:how to print all textinputs values in a python/kivy app, added by a for cycle?如何在 python/kivy 应用程序中打印所有 textinputs 值,由 for 循环添加?
【发布时间】:2023-02-03 03:42:19
【问题描述】:

我使用 for 循环在 Python3/kivy 应用程序中添加了一些 TextInputs。单击按钮后,我需要获取所有更新的值:

from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.textinput import TextInput
from kivy.uix.button import Button
class app(App):
    def build(self):
        self.box=BoxLayout(orientation='vertical')
        for n in range(5):
            self.box.add_widget(TextInput())
        def doet(instance):
            print('values: ')
            #print all TextInputs values
        self.box.add_widget(Button(text='DOET',on_press=doet))
        return self.box
app().run()

【问题讨论】:

    标签: python-3.x macos kivy


    【解决方案1】:
        def doet(instance):
            print('values: ')
            # for loop:
            for t in instance.parent.children:
                if isinstance(t, kivy.uix.textinput.TextInput):
                    print(t.text)
    
            # using comprehension
            print('
    '.join([t.text for t in instance.parent.children if t in instance.parent.children]))
    

    【讨论】:

      猜你喜欢
      • 2022-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-12-09
      • 2014-03-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多