【发布时间】:2019-01-29 02:48:11
【问题描述】:
我需要通过 python 代码在我的 kvlang 创建的屏幕上添加一个小部件。但是,当我尝试添加它时,它返回我的 BoxLayout 不存在。
我认为这是因为 .py 代码在 kvlang 之前启动,因为当我使用 on_enter: print('a') 时它返回错误并且不打印 a。
我该怎么做?
.py 代码
import kivy
from kivy.app import App
from kivy.uix.screenmanager import Screen
from kivy.uix.button import Button
class Screen1(Screen):
def __init__(self):
bt = Button()
bt.text = 'def'
self.bx.add_widget(bt)
class rootApp(App):
def build(self):
return Screen1()
rootApp().run()
.kv 文件
<Screen1>:
BoxLayout:
id:bx
Button:
text:'abc'
【问题讨论】:
-
我认为你需要
self.ids.bx.add_widget(bt)。