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

Kivy框架中Screen子类的__init__函数未调用问题求助

问题解决方案
  • 核心错误:初始化方法名拼写错误
    你把类的初始化方法写成了__int__,但Python中类的构造初始化方法是__init__。__int__是用于将对象转换为整数时触发的特殊方法,实例化类时根本不会调用它,这就是为什么你加的print语句没输出、代码逻辑没执行,甚至里面的无意义字符串和返回值都没报错——因为这个方法从始至终没被运行过。

  • 修复步骤

    1. 把方法名从__int__改成__init__
    2. 移除return 1 + 1:__init__方法不允许返回非None的值,否则会触发TypeError
    3. 删除或定义wadwaduhawuhdawudh:这个是未定义的变量,运行时会触发NameError

修复后的代码示例:

class Some(Screen):
    def __init__(self, **kwargs):
        super(Some, self).__init__(**kwargs)

        self.layout = MDBoxLayout()
        self.layout.add_widget(Label(text='somEWHIoihat'))
        self.add_widget(self.layout)
  • 补充说明
    实例化时能正常创建对象,是因为你的类继承了Screen,而Screen本身有默认的__init__方法,所以Python会调用父类的初始化逻辑,不会报错,但你自己写的UI组件添加逻辑完全没执行,导致屏幕无内容。

内容的提问来源于stack exchange,提问作者VIshvesh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:35:27