【问题标题】:Multiple valigns in one label一个标签中的多个 valigns
【发布时间】:2018-06-23 13:33:50
【问题描述】:

我正在编写一个聊天机器人,我想使用 kivy 构建一个 GUI。为了聊天,我在滚动视图中使用标签:

GridLayout:
        cols: 1
        rows: 0
        ScrollView:
            size: self.size
            do_scroll_x: False
            Label:
                id: msg
                text_size: self.width,None
                size_hint_y: None
                height: self.texture_size[1]
                font_size: 20

Python 代码:

def send(self,x):
    #global msgback
    self.msg_list.text += str(x + "\n")

问题是,我不知道如何制作 valign,它只会在右侧制作来自用户的消息。我该怎么做?

【问题讨论】:

    标签: python user-interface kivy


    【解决方案1】:

    使用 halign 将文本向右对齐。

        Label:
            id: msg
            text_size: self.width,None
            size_hint_y: None
            height: self.texture_size[1]
            font_size: 20
            halign: 'right'
            valign: 'middle'
    

    Label » halign

    halign
    

    文本的水平对齐。

    halign 是一个 OptionProperty,默认为“left”。可用选项 are : left, center, right 和 justify。

    警告

    这不会改变标签文本纹理的位置 (居中),仅文本在此纹理中的位置。你 可能想将 Label 的大小绑定到 texture_size 或设置 一个 text_size。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-22
    • 1970-01-01
    相关资源
    最近更新 更多