Python Kivy在画布上绘制的行为,要更改它';背景
我试图用以下kv语言设置布局的背景:Python Kivy在画布上绘制的行为,要更改它';背景,python,kivy,kivy-language,Python,Kivy,Kivy Language,我试图用以下kv语言设置布局的背景: <RootWidget>: Menu: orientation: 'vertical' Button: text: 'btn1' on_release: print('btn1') Button: text: 'btn' on_release: print('btn2') BoxLa
<RootWidget>:
Menu:
orientation: 'vertical'
Button:
text: 'btn1'
on_release: print('btn1')
Button:
text: 'btn'
on_release: print('btn2')
BoxLayout:
BoxLayout:
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: 'main_background.png'
ToggleMenuButton:
on_release: root.toggle_state()
size_hint: None, None
size: 60, 60
background_color: 0, 0, 0, 0
Image:
size: self.parent.size
pos: self.parent.pos
allow_stretch: True
source: './data/images/white_menu.png'
菜单和内容类是Kivy BoxLayout,ToggleMenuButton是Kivy按钮
当我运行此代码时,会出现以下屏幕:
背景应该是我的图像,而不是黑色。如果我把white_menu.png
作为背景,我也会得到一个黑色背景。但是,如果输入以下代码:
BoxLayout:
orientation: 'vertical'
BoxLayout:
orientation: 'vertical'
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: 'main_background.png'
我得到以下信息:
正如您在底部看到的,图像是透明的,有3个白色矩形,但在主布局上图像是红色的。我知道它是红色的,因为rgba代码,但是为什么图像会改变颜色呢?
如果我把背景放在画布上,在它正常工作后,我可以看到我的背景,但我看不到小部件
总而言之,我想了解发生了什么?为什么我在画布上看不到更改?为什么/如何在画布上添加颜色会改变我的图像
如果我将RootWidget
更改为BoxLayout,而不是NavigationDrawer,它将正常工作。为什么?为什么更改导航抽屉的子项的画布不起作用
BoxLayout:
orientation: 'vertical'
BoxLayout:
orientation: 'vertical'
canvas.before:
Rectangle:
pos: self.pos
size: self.size
source: 'main_background.png'