terminal_layout
The project help you to quickly build layouts in terminal
(这个一个命令行ui布局工具)
link
install
pip install terminal-layout
Usage
- easy demo:
import time
from terminal_layout import *
ctl = LayoutCtl(TextView('id1', 'hello world!', width=20, fore=Fore.red, back=Back.green))
ctl.draw()
time.sleep(2)
view = ctl.find_view_by_id('id1')
view.text = 'hi world'
ctl.re_draw()
- use table layout:
from terminal_layout import *
ctl = LayoutCtl.quick(TableLayout,
[
[TextView('title', 'Student', fore=Fore.black, back=Back.yellow, width=17,
gravity=Gravity.center)],
[TextView('', 'No.', width=5, back=Back.yellow),
TextView('', 'Name', width=12, back=Back.yellow)],
[TextView('st1_no', '1', width=5, back=Back.yellow),
TextView('st1_name', 'Bob', width=12, back=Back.yellow)],
[TextView('stw_no', '2', width=5, back=Back.yellow),
TextView('st1_name', 'Tom', width=12, back=Back.yellow)]
]
)
ctl.draw()
- use python2 unicode
# -*- coding: utf-8 -*-
from terminal_layout import *
import sys
reload(sys)
sys.setdefaultencoding('utf-8')
ctl = LayoutCtl.quick(TableLayout,
[
[TextView('', u'中文,你好', back=Back.cyan, width=Width.wrap)],
[TextView('', u'中文,你好', back=Back.cyan, width=6)],
[TextView('', u'日本語,こんにちは', back=Back.cyan, width=Width.wrap)],
]
)
ctl.draw()
Properties
属性说明
- fore & back
TextView('','fore',fore=Fore.red)
TextView('','back',back=Back.red)
- style
TextView('','style',style=Style.dim)
- width
TextView('','width',width=10)
- weight
TextView('','weight',weight=1)
- gravity
TextView('','gravity',gravity=Gravity.left)
- visibility
TextView('','',visibility=Visibility.visible)
- ex_style (not support windows)
TextView('','ex_style',style=Style.ex_blink)
- ex_fore & ex_back (not support windows)
TextView('','ex_fore',fore=Fore.ex_red_1)
TextView('','ex_back',back=Back.ex_red_1)