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

2024-04-29 18:47:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我将按钮的纹理分组在文件夹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部分,然后像这样构建我的按钮时:

^{pr2}$

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


Tags: 代码fromimportappbuilderbutton按钮class
1条回答
网友
1楼 · 发布于 2024-04-29 18:47:27

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

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

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

相关问题 更多 >