【发布时间】:2017-07-08 21:03:46
【问题描述】:
我在 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
如你所见,有一个字符串变量“text”,这个变量在每个循环中都不一样。
现在在 .kv 文件中我有一个标签。 例如:
Box:
BoxLayout:
Button:
id: butt
text: ""
on_press: root.change()
Label:
id: label_text
我希望按钮运行函数 change(),并且希望看到标签中显示的“文本”变量的值。 所以用户点击按钮后,他会看到标签上的文字发生变化: “一些文本 0”、“一些文本 1”、“一些文本 2”....“一些文本 9”。
我曾尝试在 main.py 文件中使用标签 ID,例如:
(内部变化函数)
label = self.ids['label_text']
self.count = str(variable)
label.text = "Some text " + self.count
但最终一无所获。 我想我可以在函数末尾使用“返回文本”来做到这一点,但我不想只传递循环中的最后一个“文本”变量。我希望标签在循环期间变量更改时更改文本。
请指教!
【问题讨论】:
标签: python user-interface kivy