gpt4 book ai didi

python 基维 : Align text to the left side of a Label

转载 作者:太空狗 更新时间:2023-10-29 20:39:31 26 4
gpt4 key购买 nike

我阅读了文档,但仍然不知道如何将 Kivy-Label 中的文本与其左侧对齐。文本默认居中。 halign = "left" 没有帮助。抱歉,如果解决方案很明显,但我就是找不到。

编辑:示例代码:

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label

class Example(App):
def build(self):
self.root = FloatLayout()
self.label = Label(text="I'm centered :(", pos=(0,0), size_hint=(1.0,1.0), halign="left")
self.label.text_size = self.label.size #no horizontal change
self.root.add_widget(self.label)
return self.root

Example().run()

最佳答案

根据 the documentation ,看起来新创建的标签的大小正好适合文本长度,因此在设置 halign 属性后您可能看不到任何差异。

建议在那里更改大小属性(如示例所示)

text_size = self.size

这会将标签的大小设置为包含它的小部件。然后您应该会看到标签正确居中。

作为Tshirtman指出,您还必须将 text_size 属性绑定(bind)到 size。完整的工作示例:

#!/usr/bin/kivy
# -*- coding: utf-8 -*-

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.label import Label

class Example(App):
def build(self):
self.root = FloatLayout()
self.label = Label(text="I'm aligned :)", size_hint=(1.0, 1.0), halign="left", valign="middle")
self.label.bind(size=self.label.setter('text_size'))
self.root.add_widget(self.label)
return self.root

Example().run()

关于 python 基维 : Align text to the left side of a Label,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31638788/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com