我想使用kivy为一个旧的python项目创建一个gui,并且我想在旧的项目类和kivy小部件之间保持分离,但是我不知道如何在不将class属性更改为kivy属性的情况下显示class属性中的信息。你知道吗
class Person(object):
""" Person information """
def __init__(self, name, last_name, age):
self.name = name
self.last_name = last_name
self.age = age
当我读到Kivy的工作原理时,我想我应该这样做:
class PersonWidget(Widget):
""" Person Kivy's widget """
name = StringProperty("")
last_name = StringProperty("")
age = NumericProperty("")
然后是.kv文件:
#:kivy 1.0.9
<PersonWidget>:
canvas:
pos: 0, 0
size: 100, 100
Label:
text: str(root.name)
忽略不完整的.kv文件,有没有其他方法可以在小部件中打印一些类属性而不将它们定义为Kivy属性?因为我想使用Person和PersonWidget来分离逻辑和gui代码。你知道吗
我是stackoverflow的新员工,如果有什么不对劲的地方,请原谅。你知道吗
谢谢。你知道吗
你必须了解更多关于基维的规则。。。;o)
对于
Person
类,您必须创建一个kv<Person>
规则在该规则中,您可以添加任何小部件,但是如果您想从
.py
端访问任何小部件,它应该有一个id
来标识它。要从类中使用它,只需执行
self.ids.person_label.text = "The Person's name"
相关问题 更多 >
编程相关推荐