You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.19 14:25:27