0

如何对齐这些元素?

header = VSplit(                                                            
    children=[                                                              
        Label("LEFT ", 
              dont_extend_width=True),             
        Label("  CENTER  ",
              dont_extend_width=True),
        Label(" RIGHT RIGHT RIGHT RIGHT",
              dont_extend_width=True),
    ],
    padding=Dimension(weight=99),                                                   
    padding_char="-",                                                       
    align="CENTER",                                                         
)

在此处输入图像描述

CENTER 在 LEFT 和 RIGHT 之间居中,而不是以容器为中心。由于填充,RIGHT 仅在右边缘。如果我删除填充,所有内容都会左对齐,没有间隙。

我可能在这里缺少一些基本的东西,但我已经停滞了好几个小时。

4

1 回答 1

0

我发现我可以使用FloatContainerCENTER 作为其背景元素来解决这个问题,并将 LEFT 和 RIGHT 作为Floats:

header = FloatContainer(
    content=Window(
        FormattedTextControl("  CENTER  "),
        align=WindowAlign.CENTER,
        height=1,
        char="-",
    ),
    floats=[
        Float(Label("LEFT "), left=0),
        Float(Label(" RIGHT RIGHT RIGHT RIGHT"), right=0),
    ],
)

中心居中

于 2021-02-28T12:34:28.223 回答