Kivy运行正常但GUI无内容显示问题求助
解决Kivy GUI界面无内容显示问题
核心问题是你代码里的childApp类初始化方法拼写错误:把Python类的构造方法__init__写成了__int__,导致布局的初始化逻辑完全没有执行,所以运行后GUI界面是空的。
修正后的代码如下:
import kivy from kivy.app import App from kivy.uix.gridlayout import GridLayout from kivy.uix.label import Label from kivy.uix.textinput import TextInput from kivy.uix.button import Button class childApp(GridLayout): def __init__(self,**kwargs): # 修正拼写错误:__int__ → __init__ super(childApp, self).__init__(**kwargs) # 传入kwargs给父类构造,避免潜在问题 self.cols = 2 self.add_widget(Label(text = 'Student Name')) self.s_name = TextInput() self.add_widget(self.s_name) self.add_widget(Label(text = 'Student Marks')) self.s_marks = TextInput() self.add_widget(self.s_marks) self.add_widget(Label(text = 'Student Gender')) self.s_gender = TextInput() self.add_widget(self.s_gender) class parentApp(App): def build(self): return childApp() if __name__ == "__main__": parentApp().run()
额外补充两个小细节优化:
- 调用父类构造时传入
**kwargs,能兼容Kivy布局的参数传递需求 - 统一代码格式,比如
TextInput( )里的冗余空格可以去掉,写成TextInput()
内容的提问来源于stack exchange,提问作者Gnarlyeah
相关产品推荐
相关产品推荐

