Kivy代码中嵌入的Button无法显示,仅kv文件方式有效
问题原因与解决方案
你的代码存在一个核心语法错误:构造函数名称书写错误。Python类的构造函数必须是__init__(前后各两个下划线),但你写成了_init__(仅单个前下划线),这会导致该初始化方法无法被系统自动调用,添加按钮的代码根本没执行,自然看不到按钮。
修正后的代码
from kivy.uix.stacklayout import StackLayout from kivy.uix.button import Button from kivy.app import App class StackLayoutExample(StackLayout): def __init__(self,**kwargs): # 修正为前后各两个下划线的__init__ super().__init__(**kwargs) b = Button(text='Z') self.add_widget(b) class TheLabApp(App): def build(self): return StackLayoutExample() TheLabApp().run()
另外需确认已正确导入所需Kivy组件,且TheLabApp类实现了build方法返回布局实例——从你kv文件能生效的情况来看,TheLabApp的逻辑应该是正确的,核心问题就是构造函数的下划线错误。
内容的提问来源于stack exchange,提问作者Michał Salamon
相关产品推荐
相关产品推荐

