Python 如何使用.kv文件设置主屏幕的背景?

Python 如何使用.kv文件设置主屏幕的背景?,python,kivy,Python,Kivy,我似乎无法为一个简单的应用程序设置背景图像。我是kivy的新手,对python有些陌生。这看起来很简单,但我发现的所有示例都使用.py文件中的kv语言,而不是我想学习如何使用的.kv文件 启动屏幕.py import kivy kivy.require('1.9.0') from kivy.app import App from kivy.uix.floatlayout import FloatLayout from kivy.uix.label import Label from kivy.

我似乎无法为一个简单的应用程序设置背景图像。我是kivy的新手,对python有些陌生。这看起来很简单,但我发现的所有示例都使用.py文件中的kv语言,而不是我想学习如何使用的.kv文件

启动屏幕.py

import kivy
kivy.require('1.9.0')

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label
from kivy.uix.widget import Widget
from kivy.uix.image import Image

class StartScreen(FloatLayout):

    def __init__(self, **kwargs):
        super(StartScreen, self).__init__(**kwargs)

class TestApp(App):

def build(self):
    return StartScreen()

if __name__=='__main__':
    TestApp().run()
测试.kv

#:kivy 1.9

<StartScreen>:
    FloatLayout:
        orientation: 'horizontal'
        canvas:
            Rectangle:
                source: 'C:\Kivy\graphics\bg.png'
                size: self.size
                pos: self.pos
:kivy 1.9
:
浮动布局:
方向:“水平”
画布:
矩形:
来源:“C:\Kivy\graphics\bg.png”
大小:self.size
pos:self.pos
我已经阅读了需要绑定的示例,但是.kv文件仍然需要绑定吗? 谢谢你的帮助。所有的导入都来自于我的按钮和图片。它会出现,但在左下角。
再次感谢

如果您只需要背景色,这应该足够了(
canvas.before
在小部件的内容之前绘制画布):


我发现使用canvas.Rectangle引用像“C:\Kivy\graphics\bg.png”这样的背景图像不起作用。我能让它工作的唯一方法是将图像与应用程序放在同一个文件夹中。我可以使用图像和按钮小部件引用png,但由于某些原因,canvas.Rectangle无法引用

<StartScreen>:
orientation: 'horizontal'
canvas.before:
    Rectangle:
        pos: self.pos
        size: self.size
        source: 'bg.png'
:
方向:“水平”
在以下情况之前:
矩形:
pos:self.pos
大小:self.size
资料来源:“bg.png”

您在.kv文件中的源代码应仅包含正斜杠“/”

:kivy 1.9
:
浮动布局:
方向:“水平”
画布:
矩形:
来源:“C:/Kivy/graphics/bg.png”
大小:self.size
pos:self.pos

尝试使用两个反斜杠更改
'C:\Kivy\graphics\bg.png'
,或使用相对文件路径,像
“…\\graphics\\bg.png”
也同时使用两个反斜杠

你的示例有什么问题?屏幕变成空白。我可以更改背景颜色,但由于某些原因,我无法显示png。而且该矩形只填充左下角。不会展开整个窗口。
<StartScreen>:
orientation: 'horizontal'
canvas.before:
    Rectangle:
        pos: self.pos
        size: self.size
        source: 'bg.png'
#:kivy 1.9

<StartScreen>:
    FloatLayout:
        orientation: 'horizontal'
        canvas:
            Rectangle:
                source: 'C:/Kivy/graphics/bg.png'
                size: self.size
                pos: self.pos