Kivy:self.minimum_height 不适用于 ScrollView 内的小部件

Kivy: self.minimum_height not working for widget inside ScrollView

我最近开始接触 Kivy,现在我正在尝试为我和我的朋友创建一个 D&D 应用程序 sheet。我想在一个选项卡中包含所有重要的统计信息,您可以在其中向下滚动,这样文本字体就不必那么小,但我无法使用 self.minimum_height 属性将包含其他元素的 GridLayout。

我是运行kivy版本1.10.0 如果我手动设置高度,ScrollView 就可以正常工作。

这是我的 .kv 文件

<TabbedPanel>:
do_default_tab: False
tab_pos: 'bottom_mid'
tab_width: self.width / 4
TabbedPanelItem:
    text: "Character"
    ScrollView:
        size_hint: (1, None)
        height: root.height
        GridLayout:
            cols: 1
            size_hint_y: None
            height: self.minimum_height
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"
            Button:
                text: "Hello"

TabbedPanelItem:
    text: "Weap's & Mods"
TabbedPanelItem:
    text: "Vehicle"
TabbedPanelItem:
    text: "Vehicle Upgr"

您还需要为每个包含的小部件设置明确的高度,以便 GridLayout 可以将它们加在一起以计算其最小高度。例如,在您的示例中,您可以将以下行添加到每个按钮:

size_hint_y: None
height: dp(30)

还不能发表评论,所以必须单独回答: 你可以:

<My_button>(Button):
    size_hint_y: None
    height: dp(30)

并在您的网格布局中使用它。这样可以避免为每个条目重复它。