即使在更改文本后,Kivy python 的标签文本也适合屏幕宽度
Kivy python have label text fit screen width even after changing text
在我的代码中,我使用 texture_size:self.size
使标签中的文本完全适合屏幕宽度。它有效,但是当我更新标签的文本时,它停止正确显示。我什至尝试使用 texture_update,但它没有用。我对 kivy 不是很有经验,所以也许我在这里缺少解决方案。我确实在网上找到了一些刻度标签的东西,但它似乎太复杂了,所以我想知道是否有一种简单的方法可以实现我想要的。谢谢你的时间。编辑:我能够实现我的目标。基本上我的应用程序使用多个屏幕,所以在我创建这个屏幕之前,当用户点击按钮来到这里,并在他们返回时删除它。我将其保留以防其他人遇到类似问题。
我相信您希望 text_size: self.size
texture_size 处于只读状态。确保 size_hint
也设置为适当的值,通常有用的设置组合是
Label:
size_hint_y: None
text_size: self.width, None
height: self.texture_size[1]
这意味着:
- 小部件设置自己的高度
- 纹理应与可用水平线一样大space
- 高度应该是生成的纹理的高度
这可能是很好的默认设置,因为它通常是人们需要的,但将它们设置为默认设置会限制想要其他东西的人。
在我的代码中,我使用 texture_size:self.size
使标签中的文本完全适合屏幕宽度。它有效,但是当我更新标签的文本时,它停止正确显示。我什至尝试使用 texture_update,但它没有用。我对 kivy 不是很有经验,所以也许我在这里缺少解决方案。我确实在网上找到了一些刻度标签的东西,但它似乎太复杂了,所以我想知道是否有一种简单的方法可以实现我想要的。谢谢你的时间。编辑:我能够实现我的目标。基本上我的应用程序使用多个屏幕,所以在我创建这个屏幕之前,当用户点击按钮来到这里,并在他们返回时删除它。我将其保留以防其他人遇到类似问题。
我相信您希望 text_size: self.size
texture_size 处于只读状态。确保 size_hint
也设置为适当的值,通常有用的设置组合是
Label:
size_hint_y: None
text_size: self.width, None
height: self.texture_size[1]
这意味着:
- 小部件设置自己的高度
- 纹理应与可用水平线一样大space
- 高度应该是生成的纹理的高度
这可能是很好的默认设置,因为它通常是人们需要的,但将它们设置为默认设置会限制想要其他东西的人。