在 Kivy 中使用按钮释放清除 inputText

让我们想象一下我们有一个表单,这个人在输入上写了一些东西但需要清除它们,我将如何在 Kivy 中做到这一点?


我试过这个,但没有用:


主要.py:


class CreateUra(GridLayout):


    def clear_inputs(self, *args):

            for item in args:

                item = ''



class UraApp(App):


    def build(self):

        return CreateUra()


if __name__ == "__main__":

    UraApp().run()

乌拉.kv:


<CreateUra>:

    cols: 1

    padding: 10

    spacing: 10

    row_force_default: True

    row_default_height: '32dp'


      BoxLayout:

            Label: 

                text: 'Contexto:'

                TextInput: 

                hint_text: "Contexto da ura"

                focus: True

                multiline: False

                cursor_color: (0, 0, 0, 0.8)

                id: context_input


        BoxLayout:

            Label: 

                text: 'Nome da ura:'

                TextInput: 

                hint_text: "Nome do arquivo da ura"

                multiline: False

                cursor_color: (0, 0, 0, 0.8)

                id: ura_file_name


        Button:

            text: 'Create Ura'

            id: bt_create

            on_press: root.uraConfig()

            on_release: root.clear_inputs(context_input.text, ura_file_name.text)

*忽略 on_press 上的 uraConfig


我试过这种方式,它奏效了:


Button:

    text: 'Create Ura'

    id: bt_create

    on_press: root.uraConfig()

    on_release: context_input.text = ''

我对 kivy 和 Python 很陌生,所以我不确定这是否是清除文本的最佳方式,但我做错了什么?或者,如果你们能以最好的方式来做这件事。


慕勒3428872
浏览 293回答 1
1回答

喵喵时光机

您的情况的问题是传递文本,但不是文本属性,而是文本的副本,因此即使将其设置为空也不会反映在文本输入中。您必须将 textinput 作为列表传递,迭代并使用空字符串设置属性:*.kvButton:&nbsp; &nbsp; text: 'Create Ura'&nbsp; &nbsp; id: bt_create&nbsp; &nbsp; on_press: root.uraConfig()&nbsp; &nbsp; on_release: root.clear_inputs([context_input, ura_file_name]) # <-- add brackets*.pyclass CreateUra(GridLayout):&nbsp; &nbsp; def clear_inputs(self, text_inputs):&nbsp; &nbsp; &nbsp; &nbsp; for text_input in text_inputs:&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; text_input.text = ""
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python