【发布时间】:2021-01-01 13:48:33
【问题描述】:
我一直在尝试从 python 文件访问我的 .kv 文件中的小部件,我发现了一个奇怪的事情,如果我从屏幕上的 on_enter() 或 on_pre_enter() 事件访问 ID,.ids是空的,我无法访问我的小部件。 为了访问它们,我必须创建另一个方法并 Clock.schedule 它。谁能解释一下为什么会这样...
工作方法
class MainScreen(Screen):
def add_labelinputs(self, dt):
print(self.ids)
def on_enter(self):
Clock.schedule_once(self.add_labelinputs)
不工作的方法(空字典)
class MainScreen(Screen):
def on_enter(self):
print(self.ids)
基维文件
#:kivy 1.11.1
WindowManager:
MainScreen:
<MainScreen>:
name: 'MainScreen'
GridLayout:
id: mainLayout
cols: 1
【问题讨论】: