You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KivyMD开发Hangman游戏遇白屏:按钮无法显示求助

问题原因及修复方案

你的KivyMD程序只显示白屏、按钮加载失败,主要是这几个布局错误导致的:

核心问题点

  • 错误嵌套屏幕组件:MainScreen本身就是MDScreen,你在它内部又嵌套了一层MDScreen,这会造成布局层级混乱,按钮被隐藏在嵌套屏幕中无法显示。
  • 组件尺寸约束缺失:MDScrollView和MDButton都没有设置明确的尺寸或size_hint属性,导致组件无法正确渲染出可见区域。
  • 冗余布局嵌套:第三个KV文件里的MDBoxLayout嵌套MDScreen完全没必要,反而会干扰布局逻辑。

修正后的KV文件

替换成以下简化版KV代码,就能正常显示按钮:

WindowManager:
    MainScreen:
    AhorcadoScreen:

<MainScreen>:
    name: "mainscreen"
    md_bg_color: "white"

    MDBoxLayout:
        orientation: "vertical"
        size_hint: 1, 1
        padding: "20dp"
        spacing: "10dp"

        MDButton:
            style: "elevated"
            size_hint: None, None
            size: "200dp", "50dp"
            pos_hint: {"center_x": .5}
            text: "Ahorcado"

可选写法(保留MDButtonText)

如果你的KivyMD版本要求使用MDButtonText组件,也可以用这个版本:

WindowManager:
    MainScreen:
    AhorcadoScreen:

<MainScreen>:
    name: "mainscreen"
    md_bg_color: "white"

    MDBoxLayout:
        orientation: "vertical"
        size_hint: 1, 1
        padding:Optional Mod吐( "MODon问题点 CA虚(-本 den如此addGroup 不对,重新写:
        orientation: "vertical"
        size_hint: 1, 1
        padding: "20dp"

        MDButton:
            style: "elevated"
            size_hint: None, None
            size: "200dp", "50dp"
            pos_hint: {"center_x": .5}

            MDButtonText:
                text: "Ahorcado"

关键修复说明

  1. 移除了所有多余的MDScreen嵌套,直接在MainScreen内使用MDBoxLayout作为根布局,确保层级清晰。
  2. 给MDBoxLayout设置size_hint: 1,1,让它占满整个父容器(也就是MainScreen)。
  3. 给MDButton设置固定尺寸(size)和size_hint: None, None,避免按钮被父布局拉伸或压缩,同时用pos_hint让它水平居中。
  4. 去掉了不必要的MDScrollView——如果不需要滚动功能,完全可以不用;如果后续需要添加滚动内容,再把按钮放到MDScrollView里即可,但要确保MDScrollView的尺寸设置正确。

内容的提问来源于stack exchange,提问作者Jorge Nuñez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 17:33:19