Python 如何使用.kv文件设置主屏幕的背景?
我似乎无法为一个简单的应用程序设置背景图像。我是kivy的新手,对python有些陌生。这看起来很简单,但我发现的所有示例都使用.py文件中的kv语言,而不是我想学习如何使用的.kv文件 启动屏幕.pyPython 如何使用.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.
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