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

Kivy无法绘制图形求助:如何在窗口中显示矩形?

解决Kivy无法显示矩形的问题

你的代码存在三个关键问题,修正后即可正常显示矩形:

1. KV文件缩进错误

Kivy通过缩进识别UI层级,你当前的Rectangle没有嵌套在canvas:指令下,导致Kivy无法将其识别为绘图指令。必须将Rectangle缩进,作为canvas:的子元素。

2. KV文件名错误

KV文件命名必须遵循规则:对应你的PongApp类,文件名要去掉末尾的App并转为小写,即**pong.kv**,同时后缀必须是.kv(你原拼写的.ky是错误的)。

3. 矩形位置偏移问题

原代码中pos:self.center_x, 0会让矩形的左边缘对齐窗口中线,视觉上会偏右。如果要让矩形垂直居中,需要将x坐标减去矩形宽度的一半(10/2=5),这样矩形的中心才会对齐窗口中线。


修正后的KV代码

<PongGame>:
    canvas:
        Rectangle:
            pos: self.center_x - 5, 0
            size: 10, self.height

你的Python代码无需修改

from kivy.app import App
from kivy.uix.widget import Widget

class PongGame(Widget):
    pass

class PongApp(App):
    def build(self):
        return PongGame()

PongApp().run()

将KV文件命名为pong.kv并和Python文件放在同一目录,运行Python脚本后就能看到窗口中显示一条垂直居中的矩形了。

内容的提问来源于stack exchange,提问作者Sripriya Thirukkovalluru

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 15:15:27