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

Kivy中文本超出视口问题:如何实现文本自动换行适配视口

解决Kivy Label文本自动换行问题

只需给Label添加几个关键属性即可实现文本在视口内自动换行:

<ContentScreen>:
    BoxLayout:
        orientation: 'horizontal'
        padding: 10
        spacing: 10

        Label:
            id: content_label
            pos_hint: {"center_x":0.5, "center_y":0.5}
            font_size: '16'
            # 核心:限制文本宽度为Label自身宽度,触发自动换行
            text_size: (self.width, None)
            # 设置文本水平对齐方式,可选left/center/right
            halign: 'left'
            # 让Label高度自适应换行后的文本内容
            size_hint_y: None
            height: self.texture_size[1]
            # 让Label占满BoxLayout的水平可用空间
            size_hint_x: 1

关键属性说明:

  • text_size: (self.width, None):指定文本宽度限制为Label当前宽度,高度不做限制,文本超过宽度时自动换行。
  • halign: 'left':控制文本的水平对齐方式,可根据需求改为center或right。
  • size_hint_y: None + height: self.texture_size[1]:让Label高度适配换行后的文本总高度,避免内容被截断。
  • size_hint_x: 1:确保Label在水平BoxLayout中占满全部可用水平空间,保证text_size的宽度设置生效。

若不需要水平布局,将BoxLayout的orientation改为vertical,核心属性依然适用。

内容的提问来源于stack exchange,提问作者Graham Patrick

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 01:47:34