Kivy运行程序后窗口未显示已添加按钮的问题排查
问题根源
按钮不显示是因为类构造方法拼写错误,你写的添加按钮的逻辑根本没有执行。
你在StackLayoutExample类里定义的初始化方法写成了def __int__(self, **kwargs):,Python类的构造方法固定名称是__init__(前后为双下划线,中间是init即初始化的缩写,不是代表整数类型的int)。拼写错误后,Kivy实例化这个布局时不会调用你写的这个方法,添加按钮的代码自然不会运行。
修复方案
只需要把构造方法的拼写改正确即可,修正后的类代码如下:
class StackLayoutExample(StackLayout): def __init__(self, **kwargs): super().__init__(**kwargs) b = Button(text="A", size_hint=(0.2, 0.2)) self.add_widget(b)
补充说明
- 你当前写的kv文件内容没有问题,不需要调整,改完上述拼写错误后重新运行程序,就能正常看到按钮。
- 用Kivy写自定义控件重写构造方法时,一定要注意
__init__的拼写,写错字母、漏写字符都会导致自定义初始化逻辑失效,这类笔误如果没开代码语法检查很容易漏看。
内容的提问来源于stack exchange,提问作者QuanDool
相关产品推荐
相关产品推荐

