gpt4 book ai didi

python - 如何仅使用kivy进行绑定(bind)?

转载 作者:行者123 更新时间:2023-12-01 05:25:38 24 4
gpt4 key购买 nike

我想创建一个仅更改其中标签文本的小部件,但我找到的所有更改方法都是在 python 代码中更改它,而不是仅重用 Kivy 对象。

所以我有一个如下所示的小部件:

<AmiLabel@Label>
color: .1, .5, .8, 1
font_size: 16

<AmiTextInput@TextInput>
font_size: 16

<PropertyInputForm>:
BoxLayout:
size: root.size
pos: root.pos
orientation: 'horizontal'
AmiLabel:
text: 'Folder Location'
size_hint_x: .5
AmiTextInput:
text: 'None'
size_hint_x: .5

<MainFormWidget>:
BoxLayout:
size: root.size
pos: root.pos
id: foo_bar
padding: 5
spacing: 5
canvas:
Color:
rgb: (1, 1, 1)
Rectangle:
pos: self.pos
size: self.size
orientation: 'vertical'
AmiLabel:
height: 36
size_hint_x: 1
size_hint_y: None
text: 'Project Name'
PropertyInputForm:
height: 36
size_hint_x: 1
size_hint_y: None
# I WANT TO CHANGE THE TEXT OF THE LABEL IN HERE
PropertyInputForm:
height: 36
size_hint_x: 1
size_hint_y: None
# I WANT TO CHANGE THE TEXT OF THE LABEL IN HERE

我想要的只是更改另一个级别中另一个小部件的标签文本,而不接触 python 代码。

这可能吗?

最佳答案

一种简单的方法是将新属性添加到您的 PropertyInputForm 中并引用或设置它。

<PropertyInputForm>:
new_text_property: ''
BoxLayout:
size: root.size
pos: root.pos
orientation: 'horizontal'
AmiLabel:
text: root.new_text_property
size_hint_x: .5
AmiTextInput:
text: 'None'
size_hint_x: .5

及以后

       PropertyInputForm:
height: 36
size_hint_x: 1
size_hint_y: None
new_text_property: 'whatever'

您可能还需要在 python 类中声明 new_text_property 以使其成为 StringProperty 而不是 ObjectProperty,尽管我认为在 kivy 1.8 中也没有必要。

关于python - 如何仅使用kivy进行绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21388558/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com