我想使标签表现为按钮,并在.kv文件中对其进行编码。我提到了文档,其中提到我们必须在规则中使用@来继承按钮行为的属性。我尝试了以下代码,但它给出了错误。友善的帮助
tut12.py
from kivy.app import App
from kivy.uix.boxlayout import BoxLayout
from kivy.lang import Builder
class Box_3(BoxLayout):
pass
class Demo_11(App):
def build(self):
return Builder.load_file("kv\Design10.kv")
if __name__ == "__main__":
Demo_11().run()
Design10.kv
<MYLabel@ButtonBehavior + Label>:
Box_3:
MYLabel:
text: 'Hi'
on_press: self.text = "hello"
错误消息为:
cls = Factory_get(cname) getattr 中的文件“ C:\ Users \ pavan m sunder \ envs \ kivy \ lib \ site-packages \ kivy \ factory.py”,第153行 rootwidgets.append(Factory.get(basecls)) getattr 中的文件“ C:\ Users \ pavan m sunder \ envs \ kivy \ lib \ site-packages \ kivy \ factory.py”,第131行 引发FactoryException('未知类<%s>'%名称)
kivy.factory.FactoryException:未知类<
ButtonBehavior
>
答案 0 :(得分:1)
消除
中的空格<MYLabel@ButtonBehavior + Label>:
做到这一点:
<MYLabel@ButtonBehavior+Label>:
奇怪的是,空格很重要,但在这里却很重要。