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

执行简单Kivy代码时出现黑屏问题求助

解决Kivy运行黑屏的问题

嘿,我帮你揪出了代码里几个导致黑屏的关键问题,咱们一步步来修正:

  • 构造函数名称拼写错误:你把Python类的构造函数__init__写成了__int__(两处都是!),这直接导致MyGrid的初始化逻辑完全没被执行——Kivy根本没收到要创建那些输入框和标签的指令,自然就只显示黑屏了。必须把两处的__int__都改成__init__。

  • 变量名大小写不匹配:代码里存在几处变量名大小写不一致的问题,比如你定义的是self.lastName,但添加控件时写成了self.lastname;定义的self.emailName,添加时写成了self.emailname。这会触发AttributeError,即使构造函数正常执行,程序也会报错。

下面是修正后的完整代码:

import kivy
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.gridlayout import GridLayout
from kivy.uix.textinput import TextInput

class MyGrid(GridLayout):
    def __init__(self, **kwargs):
        super(MyGrid, self).__init__(**kwargs)
        self.cols = 2
        self.add_widget(Label(text="Name: "))
        self.name = TextInput(multiline=False)
        self.add_widget(self.name)
        self.add_widget(Label(text="last name : "))
        self.lastName = TextInput(multiline=False)
        self.add_widget(self.lastName)  # 修正变量名大小写
        self.add_widget(Label(text="email: "))
        self.emailName = TextInput(multiline=False)
        self.add_widget(self.emailName)  # 修正变量名大小写

class MyApp(App):
    def build(self):
        return MyGrid()

if __name__ == "__main__":
    MyApp().run()

现在运行这段代码,应该就能看到和教程里一样的Grid布局了——包含姓名、姓氏、邮箱的输入框和对应的标签。

内容的提问来源于stack exchange,提问作者Arun Sai Vemana

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:26:30