在 kivy 小部件之间交换变量
Posted
技术标签:
【中文标题】在 kivy 小部件之间交换变量【英文标题】:Exchanging variables between kivy widgets 【发布时间】:2015-08-05 23:22:55 【问题描述】:我想在多个盒子布局中制作一个带有 kivy 小部件的程序,并且我想从 Feld 类中访问根小部件(级别)的属性。
但是root.ids.level
没有用。
这是我的代码:
class level(BoxLayout):
kr = StringProperty('kreuz.png')
ks = StringProperty('kreis.png')
class Feld(Widget):
weg = StringProperty('hinterg.png')
def on_touch_down(self, touch):
if self.ids.my_image.collide_point(*touch.pos):
self.weg = root.ids.level.kr
root = Builder.load_string('''
level:
id: level
<level>:
orientation: 'vertical'
BoxLayout:
id: box1
orientation: 'horizontal'
Feld:
pos: 100, 310
id: a1
<Feld>:
Image:
pos: root.pos
id: my_image
source: root.weg
''')
class TTT(App):
def build(self):
return root
if __name__ == "__main__":
TTT().run()
【问题讨论】:
***.com/questions/30202801/… 这应该会有所帮助。 【参考方案1】:root
关键字是指当前 kv 规则的根,而不是应用程序的根小部件。您可以改用app.root
。
【讨论】:
以上是关于在 kivy 小部件之间交换变量的主要内容,如果未能解决你的问题,请参考以下文章