首页 > 解决方案 > 我在该图片中收到有关 .kv 文件的错误,有人可以帮助我并告诉我发生了什么吗?

问题描述

在此处输入图像描述

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.properties import ObjectProperty

class MyBox(Widget):
    myInput = ObjectProperty(None)

    def printOut(self):
        print(self.myInput.text)
 
class myApp(App):
    def build(self):
        return MyBox()

if __name__=="__main__":
    myApp().run()

上面是 Py 文件,下面是 .kv 文件:

#:kivy 1.0
<MyBox>
myInput: 'inputID'
    BoxLayout:
        size: root.width, root.height
        orientation: 'vertical'
        TextInput:
            id: 'inputID'
        Button:
            text: 'Press me'
            on_press: root.printOut()

标签: pythonkivy

解决方案


正如@Rup 所说,您需要标识该myInput行并在<MyBox>. 而且,为了让你的代码正常工作,你需要去掉inputID.

所以你的 kv 文件必须看起来像这样:

#:kivy 1.0
<MyBox>:
    myInput: inputID
    BoxLayout:
        size: root.width, root.height
        orientation: 'vertical'
        TextInput:
            id: inputID
        Button:
            text: 'Press me'
            on_press: root.printOut()

推荐阅读