Python Kv语言不';我看不到目录中的文件

Python Kv语言不';我看不到目录中的文件,python,python-3.x,kivy,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>:

我将按钮的纹理分组在文件夹
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()
纹理出现。

我正在使用Kivy
v1.9.2-dev0

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

Builder.load_string('''
<MyButton>:
    background_normal: "textures/button/normal.png"
''')
Builder.load\u字符串(“”)
:
背景_normal:“纹理/按钮/normal.png”
''')

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

您是否尝试过在kv中使用“textures/button/normal.png”而不是现在的路径(即更改斜线)?我使用的是Windows,路径由反斜杠分隔,因此我假设同样的情况也适用于Kivynot@Leva7明白了,谢谢你的信息!我还没有在Windows上做过任何开发,所以我不太熟悉这些约定。Kivy是跨平台的,所以我们尽量避免让人们编写特定于平台的代码。Kivy运行的其他平台都使用
/
作为路径分隔符,因此这是标准的。当我尝试在Windows中使用/时,它在Kivy中不起作用file@user2067030你能更具体地说明你在尝试什么以及结果是什么吗?
Builder.load_string('''
<MyButton>:
    background_normal: "textures/button/normal.png"
''')