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

为什么运行Kivy代码哪怕是教程示例代码也会出现报错?

错误原因

    1. kv文件加载顺序错误:你在SingnupWindow、LoginWindow等自定义类还没定义的时候,就提前执行了Builder.load_file("main.kv"),Kivy解析kv文件时找不到对应类,直接抛出异常。
    1. 窗口类继承错误:Kivy应用全局只能存在一个App/MDApp实例,你把各个页面窗口都继承了App/MDApp属于逻辑错误,多页面场景下各个页面应该继承Screen类。
    1. build方法返回值错误:build方法需要返回应用根控件的实例,你直接返回了MainApp类本身,逻辑完全错误。
    1. 重复加载kv文件且文件名错误:你已经提前加载了main.kv,在build方法里又尝试加载名为kv的无后缀文件,属于多余且错误的操作。
  • 额外检查:确认你的main.kv里写的类名和Python代码里的拼写完全一致,你代码里写的是SingnupWindow(注意是n在g前面,拼写有误,正确应为Signup),如果kv文件里写的是正确拼写也会触发找不到类的报错。

修复后的代码示例

import kivy
from collections import UserList
from configparser import ConfigParser
from kivy.app import App
from kivymd.app import MDApp
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
import kivy.properties as kyprops
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.textinput import TextInput
from kivy.uix.gridlayout import GridLayout
from kivy.storage.jsonstore import JsonStore
from os.path import join
import requests

# 先定义所有自定义类,再加载kv文件
class MainpageWindow(Screen):
    pass

class SingnupWindow(Screen):
    pass

class LoginWindow(Screen):
    pass

# 全局只保留一个App类,这里用MDApp还是App取决于你是否用KivyMD组件
class MainApp(MDApp):
    def __init__(self,**kwargs):
        super().__init__(**kwargs)
        self.title = "Menieres Tracker"
        # 初始化ScreenManager,管理各个页面
        self.sm = ScreenManager()
        # 把所有页面添加到ScreenManager里
        self.sm.add_widget(MainpageWindow(name="mainpage"))
        self.sm.add_widget(SingnupWindow(name="signup"))
        self.sm.add_widget(LoginWindow(name="login"))

    def build(self):
        # 类定义完成后再加载kv文件
        Builder.load_file("main.kv")
        # 返回根控件ScreenManager的实例
        return self.sm

if __name__ == '__main__':
    MainApp().run()

后续检查点

  • 确认你的main.kv文件和Python脚本放在同一目录下
  • 确认kv文件里的自定义类名和Python代码里的拼写完全一致,如果你是拼写错误把Signup写成了Singnup,建议两边都改成正确的拼写避免后续问题
  • 先删除代码里多余的kv = Builder.load_file("main.kv")语句,避免重复加载

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 04:24:00