Kivy类运行报错run()缺少self参数的解决方法
报错根因
run()是Kivy App类的实例方法,你直接通过类名MyApp.run()调用时,没有传入方法必需的实例对象(即self参数),因此触发参数缺失报错。
修复方法
将入口处的MyApp.run()修改为先实例化MyApp类,再调用实例的run()方法即可。
修正后的完整代码:
from kivy.app import App class MyApp(App): pass if __name__ == "__main__": MyApp().run()
补充说明
- Python类的普通实例方法默认第一个参数为
self,指向调用该方法的类实例,调用实例方法时Python会自动传入这个参数 - 直接通过类名调用实例方法时,不会自动绑定
self,必须手动传入对应实例才可以正常运行,Kivy的标准启动写法就是创建App子类的实例后再调用run()方法
内容的提问来源于stack exchange,提问作者Amir
相关产品推荐
相关产品推荐

