Kivy 布局高度以适应子小部件的高度

Mic*_*dek 4 python user-interface kivy

我想创建一个布局,其中我有类似于 BoxLayout 的东西,让我能够在我的布局中创建“行”,并且在每个“行”中,我想使用另一种 BoxLayout 中的某些东西来创建“列” .

列不需要均匀分布。例如,我想创建一个 BoxLayout,其中一列带有方形图像,另一列占据可用宽度的其余部分。

请参阅我的要点上的代码和屏幕截图:https : //gist.github.com/MichaelGradek/e5c50038b947352d9e79

我已经在上面的代码中完成了基本结构,但另外,我希望 BoxLayout 的高度适应孩子们的高度。

实现这一目标的最佳方法是什么?

谢谢!

inc*_*ent 8

不要使用 BoxLayout,将 GridLayout 与 一起使用height: self.minimum_height,并为每个子小部件设置手动大小(size_hint_y: Noneheight: some_number)。

  • @inclement,我认为您还需要在 `GridLayout` 中使用 `size_hint_y: None`,而不仅仅是在孩子中 (2认同)
  • @zwep,因为 kivy 尊重 `size_hint` 而不是 `size`,这意味着与直接像素大小(包括 `height` 和 `width`)相关的所有内容都将被忽略,除非相应的 `size_hint` 设置为 `None`。Kivy 首先构建响应式,因此优先考虑 size_hints。 (2认同)