如何使用TextInputs中的内容制作CSV文件?

时间:2019-06-17 18:19:09

标签: python kivy

我在一个应用程序项目中,我想将信息放入TextInputs中,使用按钮进行验证,然后创建一个.CSV文件,其中包含TextInputs中包含的内容。

我使用Builder创建了屏幕,但我不知道如何处理文本输入中包含的数据,并识别输入多于一个的每个输入。

有人告诉我StringProperty,但是我不知道如何使用它并将其实现到我的解决方案中。

<CreerSecteurScreen>:

    BoxLayout:
        orientation: 'vertical'
        TextInput:
            text: 'Nom'
        TextInput:
            text: 'Age'
        TextInput:
            text: 'Lore'
        Button:
            text: 'Créer le Secteur'
            on_press: root.manager.current = 'admin_screen'

当前,图形部分可以很好地工作,仅此而已。无法访问TextInput中包含的数据。无法处理它,我也不知道如何从这些输入中创建CSV。

1 个答案:

答案 0 :(得分:0)

您可以使用.text属性从小部件中获取文本。要引用文本输入,请给它们全部id。然后,您可以在App类中创建一个python函数来处理它们。一个简单的例子:

main.py

from kivy.app import App

class MainApp(App):
    def print_textinput_values(self, text1, text2):
        print(text1)
        print(text2)

MainApp().run()

main.kv

GridLayout:
    cols: 1
    TextInput:
        id: the_first_input
    TextInput:
        id: the_second_input
    Button:
        text: "Print text"
        on_release:
            app.print_textinput_values(the_first_input.text, the_second_input.text)

app代码中的kv关键字引用您的App类(在本示例中为MainApp),您可以使用它来调用定义的任何函数。

您可以为任何Kivy小部件指定

id,无论它是TextInputLabelButton还是其他任何东西。非常有用。

由于我将自己的App类命名为MainApp,因此它将自动尝试加载名为main.kv的文件,因此就是这样的界面。