以编程方式添加的小部件未显示
Programatically Added Widget not shown
未显示以编程方式添加的小部件。
亲爱的社区,因为我需要添加一些纯文本我会详细说明
我尝试在 Kivy 中向 FloatLayout 添加一个小部件,我希望它能显示出来
在现有标签之上,但未显示
我做错了什么?
Python 文件:
from kivy.app import App
from kivy.uix.label import Label
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
Builder.load_file('Test1.kv')
class ScreenManager(ScreenManager):
pass
class RecScreen(Screen):
pass
class Test1(App):
def build(self):
self.sm=ScreenManager()
return self.sm
def on_start(self):
Layout = self.sm.ids['screen'].ids['fl_Rec']
print(Layout)
Layout.add_widget(Label(text='Hi!'))
if __name__ == '__main__':
from kivy.app import App
Test1().run()
Test1.kv 文件:
<ScreenManager>:
id:screen_manager
Screen:
id:screen
<Screen>:
id:screen
FloatLayout:
id:fl_Rec
Label:
text:'Hello World'
谢谢
马丁
根据@furas 的提示,我将 .kv 更改为
<ScreenManager>:
id:screen_manager
Screen:
id:screen
<Screen>:
id:screen
FloatLayout:
id:fl_Rec
canvas.before:
Color:
rgba: 1,1,1,0.1
Rectangle:
size: self.size
pos:self.pos
Label:
canvas.before:
Color:
rgba: 1,0.5,1,0.1
Rectangle:
size: self.size
pos:self.pos
size_hint: None,None
size:50,20
pos_hint: {'x':0.2,'y':0.2}
text:'Hello World'
仍然没有运气!
嗨,不是潜伏在什么地方!
问题在于使用 Builder 加载 .kv 文件
我已将此行为报告给
https://github.com/kivy/kivy/issues/7723
所以希望有更懂行的人来解决。
马丁
未显示以编程方式添加的小部件。
亲爱的社区,因为我需要添加一些纯文本我会详细说明 我尝试在 Kivy 中向 FloatLayout 添加一个小部件,我希望它能显示出来 在现有标签之上,但未显示
我做错了什么?
Python 文件:
from kivy.app import App
from kivy.uix.label import Label
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
Builder.load_file('Test1.kv')
class ScreenManager(ScreenManager):
pass
class RecScreen(Screen):
pass
class Test1(App):
def build(self):
self.sm=ScreenManager()
return self.sm
def on_start(self):
Layout = self.sm.ids['screen'].ids['fl_Rec']
print(Layout)
Layout.add_widget(Label(text='Hi!'))
if __name__ == '__main__':
from kivy.app import App
Test1().run()
Test1.kv 文件:
<ScreenManager>:
id:screen_manager
Screen:
id:screen
<Screen>:
id:screen
FloatLayout:
id:fl_Rec
Label:
text:'Hello World'
谢谢
马丁
根据@furas 的提示,我将 .kv 更改为
<ScreenManager>:
id:screen_manager
Screen:
id:screen
<Screen>:
id:screen
FloatLayout:
id:fl_Rec
canvas.before:
Color:
rgba: 1,1,1,0.1
Rectangle:
size: self.size
pos:self.pos
Label:
canvas.before:
Color:
rgba: 1,0.5,1,0.1
Rectangle:
size: self.size
pos:self.pos
size_hint: None,None
size:50,20
pos_hint: {'x':0.2,'y':0.2}
text:'Hello World'
仍然没有运气!
嗨,不是潜伏在什么地方!
问题在于使用 Builder 加载 .kv 文件
我已将此行为报告给
https://github.com/kivy/kivy/issues/7723
所以希望有更懂行的人来解决。
马丁