我有一个python脚本和一个kivy文件来构建界面。
我想通过pythons输入(网络输入)动态更新标签内的Text。
所以我为主要的kivy小部件创建了一个属性:
class UserForm(BoxLayout):
txt = StringProperty("")
在kivy内部我使用on_txt
来调用下面小部件中的一些更改:
<UserForm>:
orientation: 'vertical'
name: name_input.text
barcode: barcode_input.text
on_txt: print ("Aha"); barcode_label.text = "I CHANGED FOR THE BETTER"
Label:
id: barcode_label
text: "barcode (EAN or SN):"
font_size: 30
它打印&#34; Aha&#34;并且不会抛出任何错误,但它也不会更改标签的文本。
感谢任何帮助或暗示!
答案 0 :(得分:2)
在python中执行此操作
class UserForm(Screen):
on_enter(self):
self.barcode_label.text='I CHANGED FOR THE BETTER'
每次进入屏幕时,这都会将代码更改为此值 替代 如果你想要别的东西试试这个
class UserForm(Screen):
def changetext(self):
self.barcode_label.text='I CHANGED FOR THE BETTER'
并在你的kv文件中执行此操作
<UserForm>:
orientation: 'vertical'
name: name_input.text
barcode: barcode_input.text
barcode_label:barcode_label
Label:
id: barcode_label
text: "barcode (EAN or SN):"
font_size: 30
Button:
text: 'press me'
pos_hint:{"center_x":0.5,"center_y":0.3}
size_hint:(0.1,0.1)
on_press:root.changetext()
这会给你一个按钮来按改变文字 如果您有任何错误,请告诉我