【发布时间】:2020-02-09 20:14:16
【问题描述】:
我一直在尝试调试我的一个自定义小部件,但一直收到同样的错误:
KeyError: 'page_text'
这是我为这个测试应用程序制作的文件,它重新创建了这个错误:
Python 文件:
import kivy
from kivy.properties import StringProperty, DictProperty
from kivy.uix.label import Label
from kivy.app import App
from kivy.lang import Builder
Builder.load_file('test.kv')
class MultC(Label):
chapter = StringProperty()
page = StringProperty()
data = DictProperty()
def __init__(self, **kwargs):
super(MultC, self).__init__(**kwargs)
print(self.chapter)
print(self.page)
self.data = {"chapter_text": self.chapter, "page_text": self.page}
print(self.data)
class MainApp(App):
def build(self):
return MultC()
MainApp().run()
我的kv:
<MultC>:
chapter: "test"
page: "test2"
BoxLayout:
orientation: 'vertical'
Label:
text: root.data["chapter_text"]
Label:
text: root.data["page_text"]
如果我定义 data 并给它一个有效的字典,我不明白 KeyError 来自哪里。
任何帮助表示赞赏,在此先感谢...
【问题讨论】: