首页 > 解决方案 > 即使在更改文本后,Kivy python 的标签文本也适合屏幕宽度

问题描述

在我的代码中,我曾经texture_size:self.size让标签中的文本完全适合屏幕的宽度。它有效,但是当我更新标签的文本时,它停止正确显示。我什至尝试过使用 texture_update,但它没有用。我对kivy不是很有经验,所以也许我在这里缺少解决方案。我确实在网上找到了一些 Scale 标签的东西,但它似乎太复杂了,所以我想知道是否有一种简单的方法来实现我想要的。谢谢你的时间。编辑:我能够实现我的目标。基本上我的应用程序使用多个屏幕,所以在我创建这个屏幕之前,当用户单击按钮来到这里,并在他们返回时将其删除。我留下这个,以防其他人有类似的问题。

标签: pythonkivykivy-language

解决方案


我相信您希望text_size: self.sizetexture_size 只读。确保size_hint也设置为适当的值,通常有用的设置组合是

Label:
    size_hint_y: None
    text_size: self.width, None
    height: self.texture_size[1]

意思是:

  • 小部件设置自己的高度
  • 纹理应该与可用的水平空间一样大
  • 高度应该是生成的纹理的高度

这可能是一个很好的默认值,因为它通常是人们需要的,但是让它们默认会限制想要其他东西的人。


推荐阅读