Kivy Label文本更新时出现重叠问题的技术求助
Kivy Label更新文本时新旧内容重叠问题
尝试更新从.kv文件初始化的Label组件文本时,新旧文本出现重叠现象,无论更新多少次或清空文本都无法解决。唯一可行的解决办法是在App的build方法中初始化Label的文本(示例来自YouTube第32节练习课程)。
初始状态截图:
文本重叠错误截图:
ExampleApp.kv代码
# Spinner example exercise 32 <CustomLayout>: BoxLayout: orientation: "vertical" size: root.width, root.height Label: id: click_label text: "Issuer" font_size: 22 Spinner: id: spinner_id text: "Issuer" values: ["ip1", "ip2", "ip3", "ip4"] on_text: root.spinner_clicked(spinner_id.text) # 更新Label文本 BoxLayout:
Python脚本(example.py)
from kivy.app import App from kivy.uix.widget import Widget from kivy.lang import Builder # Spinner example exercise 32 Builder.load_file("ExampleApp.kv") class CustomLayout(Widget): # 更新Label文本的方法 def spinner_clicked(self, value): self.ids.click_label.text = f"Issuer: {value}" class ExampleApp(App): def build(self): # 以下三行代码可正常运行 # main_widget = CustomLayout() # main_widget.ids.click_label.text = "Issuer: ???" # return main_widget # 直接返回CustomLayout会出现问题 return CustomLayout() if __name__ == '__main__': ExampleApp().run()
环境Kivy版本
Kivy==2.1.0 kivy-deps.angle==0.3.2 kivy-deps.glew==0.3.1 kivy-deps.sdl2==0.4.5 Kivy-examples==2.1.0 Kivy-Garden==0.1.5
内容的提问来源于stack exchange,提问作者Clock
相关产品推荐
相关产品推荐

