ฉันต้องการสร้าง gui สำหรับโปรเจ็กต์ Python เก่าโดยใช้ kivy และฉันต้องการแยกสิ่งต่าง ๆ ระหว่างคลาสโปรเจ็กต์เก่าและวิดเจ็ต kivy แต่ฉันไม่รู้วิธีแสดงข้อมูลจากแอตทริบิวต์ของคลาสโดยไม่ต้องเปลี่ยนเป็นคุณสมบัติ Kivy .
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
PD: ฉันยังใหม่กับ stackoverflow ขออภัยหากมีอะไรทำให้เกิดความสับสนหรือผิดพลาด
ขอบคุณ.