Valign 不在 kivy 工作?

Valign not working in kivy?

我这里有这个 kivy 文件:

<Help>:
    Label:
        text: "[b]Help Page[/b]\n"
        font_size: 30
        markup: True
        valign: "top"
        color: 0,0,0,1
    Label:
        text: "[b] How To Use:[/b]\n"
        font_size: 30
        markup: True
        valign: 'top'
        color: 0,0,0,1

但是,文本不会到达页面顶部。这是输出:

这有什么问题?我也可以问一下如何格式化那些重叠的文本。谢谢:)

编辑: 这就是我想要的文本:

期望的输出

因此,为了获得该结果,我尝试使用 valign 和 halign 来格式化文本,但它似乎不起作用。希望这澄清了我的问题:)

在顶部显示文本

要使用 valign 在顶部显示文本:'top',将 text_size: root.width, None 替换为 text_size: root.width, root.height

片段

<Help>:
    Label:
        id: help
        text_size: root.width, root.height
        markup: True
        valign: 'top'
        halign: 'center'
        color: 0,0,0,1

输出

将两个字符串显示为一个

要显示两个字符串,“如何操作:此处有一些文本”和“一些标题还有一些文本”作为一个,我们将执行以下操作:

kv 文件

<Help>:
    Label:
        id: help
        text_size: root.width, None
        markup: True
        halign: 'center'
        color: 0,0,0,1

Python代码

class Help(Screen):

    def on_pre_enter(self, *args):
        self.ids.help.text = "[size=30][b]How to Operate[/b][/size]\nSome text here" + \
                             "\n\n[size=30][b]Some title[/b][/size]\nSome more text"

输出 - 组合文本

文本重叠

Label 的文本重叠,因为您在屏幕布局中添加了两个 Label 小部件 on-top。

添加一个 BoxLayout 作为两个 Label 小部件的 parent 以防止文本重叠。

文字环绕

以特定宽度包裹文本,提供宽度。比如要在一个盒子里创建一个Label,宽度=200,高度不限。

Label(text='Very big big line', text_size=(200, None))

片段

<Help>:
    BoxLayout:
        orientation: 'vertical'

        Label:
            text_size: dp(230), None
            height: self.texture_size[1]
            text: "[size=30][b]How to Operate[/b][/size]Some text here"
            markup: True
            valign: "top"
            halign: 'center'
            color: 0,0,0,1

        Label:
            text_size: dp(150), None
            text: "[size=30][b]Some title[/b][/size]Some more text"
            markup: True
            valign: 'top'
            halign: 'center'
            color: 0,0,0,1

输出

文本对齐

添加text_size: self.size

片段

<Help>:
    Label:
        text_size: self.size
        text: "[b]Help Page[/b]\n"
        font_size: 30
        markup: True
        valign: "top"
        color: 0,0,0,1
    Label:
        text_size: self.size
        text: "[b] How To Use:[/b]\n"
        font_size: 30
        markup: True
        valign: 'top'
        color: 0,0,0,1

Text alignment and wrapping

In order for the halign and valign alignment properties to take effect, set the text_size, which specifies the size of the bounding box within which text is aligned.

输出