我正在尝试在 kivymd 中进行网格布局。已创建 GridLayout 但宽度未填满屏幕。kivymd中如何扩展列的宽度以适应屏幕?我使用了 kivymd 文档中的示例并使用它创建了网格布局。app.pyfrom kivymd.app import MDAppfrom kivy.uix.screenmanager import Screen, ScreenManagerfrom kivy.lang import Builderfrom main_screen_str import helper_stringfrom kivy.core.window import WindowWindow.size = (300, 500)class MainScreen(Screen): passclass MainApp(MDApp): def __init__(self, **kwargs): super().__init__(**kwargs) self.sm = ScreenManager() self.sm.add_widget(MainScreen(name="main_screen")) self.main_str = Builder.load_string(helper_string) def build(self): screen = Screen() screen.add_widget(self.main_str) return screenif __name__ == '__main__': MainApp().run()这是构建器字符串。网格布局已创建,但宽度不适合屏幕。如何扩展网格布局中单个列的宽度?构建字符串helper_string = """ScreenManager: MainScreen:<MainScreen>: name: 'main_screen' MDGridLayout: cols: 3 MDIconButton: icon: "android" theme_text_color: "Custom" text_color: app.theme_cls.primary_color MDIconButton: icon: "android" theme_text_color: "Custom" text_color: app.theme_cls.primary_color MDIconButton: icon: "android" theme_text_color: "Custom" text_color: app.theme_cls.primary_color MDIconButton: icon: "android" theme_text_color: "Custom" text_color: app.theme_cls.primary_color MDIconButton: icon: "android" theme_text_color: "Custom" text_color: app.theme_cls.primary_color MDIconButton: icon: "android" theme_text_color: "Custom" text_color: app.theme_cls.primary_color """
1 回答
![?](http://img1.sycdn.imooc.com/54584e1f0001bec502200220-100-100.jpg)
冉冉说
TA贡献1877条经验 获得超1个赞
根据MDIconBuuton 文档:
默认情况下,MDIconButton 按钮的大小为 (dp(48), dp (48))
并且GridLayout
将使用这些大小值来调整列的大小。您可以通过调整 的大小来调整列大小MDIconButtons
。所以,如果你只是添加:
size_hint_x: 0.33
对于每个MDIconButton
,每列将是 的宽度的三分之一MainScreen
。
添加回答
举报
0/150
提交
取消