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

Kivy如何将canvas绘制的矩形定位在任意分辨率的窗口顶部

你只需要给RoundedRectangle绑定动态计算的pos属性即可,修改后的kv代码如下:

<Test>:
BoxLayout:
    size: root.width, root.height
    canvas:
        Color:
            rgba: 1,1,1,1
        RoundedRectangle:
            id: toprect
            size: self.width, root.height/5
            pos: 0, root.height - self.size[1]
            radius: [(0, 0), (0, 0), (40, 40), (40, 40)]
  • pos属性的计算逻辑是x轴固定为0(占满窗口整个横向宽度),y轴取值为窗口总高度减去矩形自身高度,刚好让矩形的顶部和窗口顶部对齐,完全不需要硬编码固定位置参数,窗口分辨率变化时会自动适配。
  • kv语言会自动监听依赖的属性变动,只要窗口宽高发生变化,矩形的大小和位置会自动触发重绘,不需要额外写绑定逻辑。

内容的提问来源于stack exchange,提问作者Mahdi Yaghoubi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 02:39:01