Я борюсь с картой Kivy в течение некоторого времени. Я не могу найти ответ на мою проблему в Интернете.Переменная функции перехода на метку
У меня есть два файла: main.py и .kv. В файле main.py у меня есть функция внутри Boxlayout.
Например:
class Box(BoxLayout):
def change(self):
variable = 0
while variable < 10:
text = "Some text " + str(variable)
variable += 1
Как вы можете видеть, есть строковая переменная «текст» и эта переменная отличается на каждом цикле.
Теперь в .kv файле У меня есть ярлык. Например:
Box:
BoxLayout:
Button:
id: butt
text: ""
on_press: root.change()
Label:
id: label_text
Я хотел бы кнопку, чтобы запустить функцию изменения(), и я хотел бы видеть значение «текст» переменной отображается в метке. Итак, после нажатия кнопки на кнопке он увидит изменение текста на ярлыке: «Some text 0», «Some text 1», «Some text 2» .... «Some text 9».
Я пытался использовать метки ID в main.py файл как:
(внутри изменение функции)
label = self.ids['label_text']
self.count = str(variable)
label.text = "Some text " + self.count
, но в конечном итоге ни с чем. Я думаю, что мог бы сделать это с помощью «возвращаемого текста» в конце функции, но я не хочу передавать только последнюю «текстовую» переменную из цикла. Я хочу, чтобы метка меняла текст при изменении переменных во время цикла.
Прошу совета!
спасибо. Это решило мою проблему, но ... мне все равно не на 100% понятно, как это работает. Можете ли вы порекомендовать хороший учебник по киви? – Maciejjy
@Maciejjy Было бы неплохо принять и проголосовать за ответ, если он работает :) Вы взяли это? https://kivy.org/docs/tutorials/pong.html – Juggernaut
Конечно. Но я не могу проголосовать. Получил сообщение о том, что для пользователя с менее чем 15 репутацией не изменяйте счет сообщения. – Maciejjy