【问题标题】:Kivy FloatLayout centers children?Kivy FloatLayout 以孩子为中心?
【发布时间】:2017-02-28 06:24:52
【问题描述】:

我正在尝试在 Kivy 中使用 FloatLayout 手动定位一些图像,但原点 (0, 0) 似乎位于屏幕的中心,而不是文档所述的左下角。我尝试设置图像的pos、pos_hint 和left 属性以使其位于左下角,但没有任何效果。

令人沮丧的是,当我用canvas.after 在那里绘制一个矩形时,它在左下角正确绘制。我的kv代码:

FloatLayout:
    canvas.after:
        Line:
            rectangle: [0, 0, 10, 10]
    Image:
        id: sprite
        pos_hint_x: None
        pos_hint_y: None
        pos: 0, 0
        size: 32, 32
        source: 'atlas://img/sprites/fuzzy_dragon'

图像在屏幕中绘制死点,矩形位于左下角。我做错了什么?

【问题讨论】:

  • 把FloatLayout改成RelativeLayout
  • @Juggernaut 干什么用的?

标签: kivy kivy-language


【解决方案1】:

它是 size_hint_*,而不是 pos_hint_*,用于禁用相对大小,即:

size_hint: None, None
size: 32, 32

否则它将占据整个屏幕,因此您认为它居中。嗯,它是,但不是因为你认为它是的原因:P

pos_hint 是 dictionary,工作方式不同。

在未来使用Inspector(python main.py -m inspector) 调试布局和元素。

【讨论】:

  • 做到了,谢谢。让我失望的是按钮不会自动占据整个屏幕,因此它们定位正确,但其他小部件受到影响。
猜你喜欢
  • 2018-08-16
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 2019-02-26
  • 2021-07-24
  • 1970-01-01
  • 2015-08-31
相关资源
最近更新 更多