Term.jl中能否为Panel内各文本部分设置单独对齐方式?
在Term.jl的Panel组件中为不同行设置独立对齐方式
你尝试用内嵌的{left}/{center}标签控制Panel内文本的对齐,但Term.jl的这类格式标签并不支持直接控制文本块的对齐,所以所有文本会保持Panel默认的左对齐。
要实现第一行左对齐、第二行居中对齐的效果,有两种简单的方法:
方法1:用Line对象单独定义每行对齐
using Term: Panel, Line println( Panel( Line("left", width=50, align=:left), Line("center", width=50, align=:center), width=50 ) )
Line是Term.jl中用于处理单行文本的对象,可以通过align参数指定该行的对齐方式,将多个Line传入Panel就能实现每行独立对齐。
方法2:预先对齐每行文本再传入Panel
用Term的align函数手动处理每行的对齐格式,再拼接成字符串传入Panel:
using Term: Panel, align # 分别处理每行的对齐 left_line = align("left", 50, :left) center_line = align("center", 50, :center) println( Panel( "$left_line\n$center_line", width=50 ) )
这两种方法都能实现你想要的多行不同对齐效果。
内容的提问来源于stack exchange,提问作者Shayan
相关产品推荐
相关产品推荐

