Kv语言没有在目录中看到该文件

时间:2016-06-02 17:49:26

标签: python python-3.x kivy

我的按钮纹理分组在文件夹textures\button中(相对于代码文件)。在我的代码中,我已经在kv和Python代码中的几个地方指定了这个路径。 Python代码似乎很好地识别纹理,而kv却找不到它们。那是什么?
这是代码示例:

from kivy.app import App
from kivy.uix.button import Button
from kivy.lang import Builder

Builder.load_string('''
<MyButton>:
    background_normal: "textures\\button\\normal.png"
''')

class MyButton(Button):
    pass

class TestApp(App):
    def build(self):
        bt = MyButton()
        return bt

TestApp().run()

这给了我一个空白的纹理。但是,当我删除kv部分并构建我的按钮时:

bt = MyButton(background_normal = "textures\\button\\normal.png")

纹理出现。
我正在使用Kivy v1.9.2-dev0

1 个答案:

答案 0 :(得分:1)

您应该使用\\替换路径中的/,即使用:

Builder.load_string('''
<MyButton>:
    background_normal: "textures/button/normal.png"
''')

根据我的经验,kv期望路径采用上面显示的格式,如果这对您有用,我将假设这是对kivy的平台独立期望。