You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:18:05