栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何从Kivy文件(.kv)访问不同类别的ID /小部件?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何从Kivy文件(.kv)访问不同类别的ID /小部件?

好吧,看来我自己找到了答案,我想分享一下。

首先,让我们在dates_test.kv文件中输入“ id”。这样您就可以使用python代码或.kv文件访问它们。

<Get_People>:    stuff_p: root_lbl    ...    Get_Boys:        id: gb    Get_Girls:        id: gg<Get_Boys>:    stuff_b: label_b<Get_Girls>:    stuff_c: label_g

您可能想知道什么是stuff_p,stuff_b和stuff_c ???

它们是在自己的类中定义的ObjectProperty。当您链接到kivy文件时,您在python代码中的stuff_b中所做的更改将在label_b中进行更改。

class Get_People(BoxLayout):    stuff_p = ObjectProperty(None)    ...class Get_Boys(BoxLayout):    stuff_b = ObjectProperty(None)    ...class Get_Girls(BoxLayout):    stuff_c = ObjectProperty(None)    ...

对于第1部分和第2部分

  1. 如果释放具有ID:button_b(Get_Boys类)的按钮,则必须更改具有ID:label_g(Get_Girls类)的Label。

  2. 如果按下ID为:button_b的Button(Get_Boys类),则ID为root_lbl的Label(Get_People类)必须更改。

在Get_Boys类(test.py)中定义这些方法。

def change_girl(self):    self.parent.ids.gg.stuff_c.text = "Boys changed Girls!"    #self.stuff_b.text = "i changed myself!"def change_people(self):    self.parent.ids.root_lbl.text = "Boys changed people!"

让我们看看这里发生了什么…

self.parent.ids.gg.stuff_c.text =“男孩变了女孩!”

  1. self.parent引用Get_Parent类。
  2. .ids.gg是我们上面为Get_Girls创建的ID。
  3. .stuff_c用于引用Get_Girls类中的label_g(上方)。
  4. .text用于更改标签中的文本。

并在.kv文件中

<Get_Boys>:    stuff_b: label_b    Button:        id: button_b        text: "button 1"        on_release: root.change_girl()        on_press: root. change_people()

对于第3部分

3.
如果发布了ID为:root_btn(Get_People类)的Button,则ID为:label_b(Get_Boys类)的Label必须更改。


在Get_People类(test.py)中定义一个方法。

def rooted(self):    self.ids.gb.stuff_b.text = "people changed boys!"

并在.kv文件中

Button:    id: root_btn    text: "I am Root"    on_release: root.rooted()


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/638294.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号