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

问题描述 投票:0回答:2

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

我正在运行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"

任何帮助,将不胜感激! :)

python kivy kivy-language
2个回答
0
投票

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

size_hint_y: None
height: dp(30)

0
投票

暂无评论,所以必须单独回答:你可以做:

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

并在你的Gridlayout中使用它。这将为每个条目节省重复次数。

© www.soinside.com 2019 - 2024. All rights reserved.