Kivy canvas不显示,使用Kv语言设置窗口白色背景仍为黑色怎么办?
问题原因
你仅在<MyUI>的canvas中声明了白色的Color属性,但没有调用绘图指令绘制和布局同尺寸的填充矩形,相当于只指定了绘图颜色但没有实际绘制背景色块,所以窗口依旧显示Kivy默认的黑色背景。
解决方法
方法1:补充kv文件的canvas绘图指令
修改my.kv代码,在Color属性下新增Rectangle绘图指令,绑定布局的位置和尺寸即可:
<MyUI>: canvas: Color: rgba: 1,1,1,1 Rectangle: pos: self.pos size: self.size
这个方案会给自定义的MyUI布局绘制白色背景,适合需要给不同布局设置差异化背景的场景。
方法2:直接修改全局窗口背景色
如果需要全局修改整个应用的窗口背景,也可以直接修改window的clearcolor属性,无需修改kv文件,修改main.py代码即可:
from kivy.core.window import Window from kivy.app import App from kivy.uix.floatlayout import FloatLayout class MyUI(FloatLayout): pass class MyApp(App): def build(self): Window.clearcolor = (1,1,1,1) return MyUI() def main(): MyApp().run() if __name__ == '__main__': main()
内容的提问来源于stack exchange,提问作者Hamid
相关产品推荐
相关产品推荐

