Как изменить свойство виджета kivy по id в файле .py - PullRequest
0 голосов
/ 03 января 2019

У меня есть метка и текстовый ввод, и я хочу изменить его текстовое свойство с помощью переменной в файле .py. Вот код:

Вот .kv

<DefinicaoDeSaidas>:

    BoxLayout:

        orientation:'vertical'

        BoxLayout:

            orientation:'vertical'

            padding: 0,20,20,50

            Image:

                source:'exemplo.png'

            Label:

                text:'Escolha as missoes para a saida'
                font_size:40

            TextInput:

                id: ti

Вот .py

class DefinicaoDeSaidas(Screen): 

    #get the values and everything

    #transformate a variable ('name') onto the ti.text property 

Вы можете увидеть весь код в репозитории github: https://github.com/Enzodtz/FLL-Artificial-Inteligence

1 Ответ

0 голосов
/ 03 января 2019

Не используйте id в .py, так как это часто приводит к наличию кода, подобного foo_object.ids.ti, вместо этого вы можете представить его как свойство:

<DefinicaoDeSaidas>:
    ti: ti # <---
    BoxLayout:
        orientation:'vertical'

        BoxLayout:
            orientation:'vertical'
            padding: 0,20,20,50

            Image:
                source:'exemplo.png'

            Label:
                text:'Escolha as missoes para a saida'
                font_size:40

            TextInput:
                id: ti

И тогда вы можете получить доступ с помощью self излюбой метод:

class DefinicaoDeSaidas(Screen): 
    # ...
    def foo_function(self, another_arguments):
        v = self.ti.text # get text
        self.ti.text = u # update text
...