pywebio.output — 输出模块¶
本模块提供了一系列函数来输出不同形式的内容到用户浏览器,并支持灵活的输出控制。
函数清单¶
* 的函数表示其支持接收 put_xxx 调用作为参数。† 的函数表示其支持作为上下文管理器使用。函数 |
简介 |
|
输出域Scope |
创建一个新的scope. |
|
进入输出域 |
||
获取当前正在使用的输出域 |
||
清空scope内容 |
||
移除Scope |
||
将页面滚动到 scope Scope处 |
||
内容输出 |
输出文本 |
|
输出Markdown |
||
输出通知消息 |
||
输出Html |
||
输出链接 |
||
输出进度条 |
||
输出加载提示 |
||
输出代码块 |
||
输出表格 |
||
输出按钮,并绑定点击事件 |
||
输出图片 |
||
显示一个文件下载链接 |
||
输出横向标签栏Tabs |
||
输出可折叠的内容 |
||
固定高度内容输出区域
内容超出则显示滚动条
.
|
||
输出自定义的控件 |
||
其他交互 |
显示一条通知消息 |
|
|
显示弹窗 |
|
关闭正在显示的弹窗 |
||
布局与样式 |
|
使用行布局输出内容 |
使用列布局输出内容 |
||
使用网格布局输出内容 |
||
在 |
||
自定义输出内容的css样式 |
输出域Scope¶
-
pywebio.output.put_scope(name, content=[], scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出一个输出域
- 参数
name (str) –
content (list/put_xxx()) – 输出域里的初始内容,可以为
put_xxx()调用或其列表。scope, position (int) – 与
put_text函数的同名参数含义一致
-
pywebio.output.use_scope(name=None, clear=False)[源代码]¶ scope的上下文管理器和装饰器。用于创建一个新的输出域并进入,或进入一个已经存在的输出域。
- 参数
name (str) – scope名. 若为None则生成一个全局唯一的scope名.(以上下文管理器形式的调用时,上下文管理器会返回scope名)
clear (bool) – 在进入scope前是否要清除scope里的内容
- Usage
with use_scope(...) as scope_name: put_xxx() @use_scope(...) def app(): put_xxx()
内容输出¶
Scope related parameters of output function
输出函数默认将内容输出到“当前scope”,“当前scope”可由 use_scope() 设置。
另外,所有输入函数都支持使用 scope 参数来指定输出的目的scope:
with use_scope('scope3'):
put_text('text1 in scope3') # output to current scope: scope3
put_text('text in ROOT scope', scope='ROOT') # output to ROOT Scope
put_text('text2 in scope3', scope='scope3') # output to scope3
以上代码运行结果如下:
text1 in scope3
text2 in scope3
text in ROOT scope
一个scope可以包含多个输出项,输出函数的默认行为是将内容追加到目标scope中。可以使用输出函数的 position 参数来指定输出内容在目标scope中的插入位置。
一个Scope中各次输出的元素具有像数组一样的索引,最前面的编号为0,以此往后递增加一;同样可以使用负数对Scope中的元素进行索引,-1表示最后面的元素,-2表示次后面的元素……
position 参数类型为整形, position>=0 时表示输出内容到目标Scope的第position号元素的前面; position<0 时表示输出内容到目标Scope第position号元素之后:
with use_scope('scope1'):
put_text('A')
put_text('B', position=0) # insert B before A -> B A
put_text('C', position=-2) # insert C after B -> B C A
put_text('D', position=1) # insert D before C B -> B D C A
Output functions
-
pywebio.output.put_text(*texts, sep=' ', inline=False, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出文本
- 参数
texts – 要输出的内容。类型可以为任意对象,对非字符串对象会应用
str()函数作为输出值。sep (str) – 输出分隔符
inline (bool) – 将文本作为行内元素(连续输出的文本显示在相同的段落中)。默认每次输出的文本都作为一个独立的段落
scope (str) –
内容输出的目标scope,若scope不存在,则不进行任何输出操作。
可以直接指定目标Scope名,或者使用int通过索引Scope栈来确定Scope
position (int) – 在scope中输出的位置。
参数
scope和position的更多使用说明参见 用户手册
-
pywebio.output.put_markdown(mdcontent, lstrip=True, options=None, sanitize=True, scope=None, position=- 1, **kwargs) → pywebio.io_ctrl.Output[源代码]¶ 输出Markdown
- 参数
mdcontent (str) – Markdown文本
lstrip (bool) – 是否自动移除
mdcontent每一行的前导空白锁进options (dict) – 解析Markdown时的配置参数。 PyWebIO使用 marked 解析Markdown, 可配置项参见: https://marked.js.org/using_advanced#options (仅支持配置string和boolean类型的项)
sanitize (bool) – 是否使用 DOMPurify 对内容进行过滤来防止XSS攻击。
scope, position (int) – 与
put_text函数的同名参数含义一致
当使用python三引号语法在函数中输出多行Markdown内容时,你可以缩进Markdown内容来使代码保持美观。PyWebIO会智能地移除Markdown中的缩进:
# good code format def hello(): put_markdown(r""" # H1 This is content. """)
在 1.5 版更改: Enable
lstripby default. Deprecatestrip_indent.
-
pywebio.output.put_info(*contents, closable=False, scope=None, position=- 1) → Output:[源代码]¶ -
pywebio.output.put_success(*contents, closable=False, scope=None, position=- 1) → Output:[源代码]¶ -
pywebio.output.put_warning(*contents, closable=False, scope=None, position=- 1) → Output:[源代码]¶ -
pywebio.output.put_error(*contents, closable=False, scope=None, position=- 1) → Output:[源代码]¶ 输出通知消息
- 参数
contents – 消息内容. 元素为
put_xxx()调用,其他类型会被转换成put_text(content)closable (bool) – 是否在消息框右侧展示一个关闭按钮。
scope, position (int) – 与
put_text函数的同名参数含义一致
1.2 新版功能.
-
pywebio.output.put_html(html, sanitize=False, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出Html内容
-
pywebio.output.put_link(name, url=None, app=None, new_window=False, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出链接到其他网页或PyWebIO App的超链接
- 参数
url和app参数必须指定一个但不可以同时指定
-
pywebio.output.put_processbar(name, init=0, label=None, auto_close=False, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出进度条
- 参数
name (str) – 进度条名称,为进度条的唯一标识
init (float) – 进度条初始值. 进度条的值在 0 ~ 1 之间
label (str) – 进度条显示的标签. 默认为当前进度的百分比
auto_close (bool) – 是否在进度完成后关闭进度条
scope, position (int) – 与
put_text函数的同名参数含义一致
Example:
import time put_processbar('bar'); for i in range(1, 11): set_processbar('bar', i / 10) time.sleep(0.1)
参见
使用
set_processbar()设置进度条进度
-
pywebio.output.set_processbar(name, value, label=None)[源代码]¶ 设置进度条进度
- 参数
name (str) – 设置进度条进度
value (float) – 进度条的值. 范围在 0 ~ 1 之间
label (str) – 进度条显示的标签. 默认为当前进度的百分比
-
pywebio.output.put_loading(shape='border', color='dark', scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出加载提示
- 参数
shape (str) – 加载提示的形状, 可选值:
'border'(默认,旋转的圆环)、'grow'(大小渐变的圆点)color (str) – 加载提示的颜色, 可选值:
'primary'、'secondary'、'success'、'danger'、'warning'、'info'、'light'、'dark'(默认)scope, position (int) – 与
put_text函数的同名参数含义一致
put_loading()支持直接调用和上下文管理器:for shape in ('border', 'grow'): for color in ('primary', 'secondary', 'success', 'danger', 'warning', 'info', 'light', 'dark'): put_text(shape, color) put_loading(shape=shape, color=color) # Use as context manager, the loading prompt will disappear automatically when the context block exits. with put_loading(): time.sleep(3) # Some time-consuming operations put_text("The answer of the universe is 42") # using style() to set the size of the loading prompt put_loading().style('width:4rem; height:4rem')
-
pywebio.output.put_code(content, language='', rows=None, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出代码块
- 参数
content (str) – 代码内容
language (str) – 代码语言
rows (int) – 代码块最多可显示的文本行数,默认不限制。内容超出时会使用滚动条。
scope, position (int) – 与
put_text函数的同名参数含义一致
-
pywebio.output.put_table(tdata, header=None, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出表格
- 参数
tdata (list) – 表格数据。列表项可以为
list或者dict, 单元格的内容可以为字符串或put_xxx类型的输出函数。 数组项可以使用span()函数来设定单元格跨度。header (list) –
表头。当
tdata的列表项为list类型时,若省略header参数,则使用tdata的第一项作为表头。表头项可以使用span()函数来设定单元格跨度。当
tdata为字典列表时,使用header指定表头顺序,不可省略。此时,header格式可以为 <字典键>列表 或者(<显示文本>, <字典键>)列表。scope, position (int) – 与
put_text函数的同名参数含义一致
Example:
# 'Name' cell across 2 rows, 'Address' cell across 2 columns put_table([ [span('Name',row=2), span('Address', col=2)], ['City', 'Country'], ['Wang', 'Beijing', 'China'], ['Liu', 'New York', 'America'], ]) # Use `put_xxx()` in `put_table()` put_table([ ['Type', 'Content'], ['html', put_html('X<sup>2</sup>')], ['text', '<hr/>'], ['buttons', put_buttons(['A', 'B'], onclick=...)], ['markdown', put_markdown('`Awesome PyWebIO!`')], ['file', put_file('hello.text', b'hello world')], ['table', put_table([['A', 'B'], ['C', 'D']])] ]) # Set table header put_table([ ['Wang', 'M', 'China'], ['Liu', 'W', 'America'], ], header=['Name', 'Gender', 'Address']) # When ``tdata`` is list of dict put_table([ {"Course":"OS", "Score": "80"}, {"Course":"DB", "Score": "93"}, ], header=["Course", "Score"]) # or header=[(put_markdown("*Course*"), "Course"), (put_markdown("*Score*") ,"Score")]
0.3 新版功能: 单元格的内容支持
put_xxx类型的输出函数
-
pywebio.output.span(content, row=1, col=1)[源代码]¶ 用于在
put_table()和put_grid()中设置内容跨单元格- 参数
content – 单元格内容。可以为字符串或
put_xxx()调用。row (int) – 竖直方向跨度, 即:跨行的数目
col (int) – 水平方向跨度, 即:跨列的数目
- Example
put_table([ ['C'], [span('E', col=2)], # 'E' across 2 columns ], header=[span('A', row=2), 'B']) # 'A' across 2 rows put_grid([ [put_text('A'), put_text('B')], [span(put_text('A'), col=2)], # 'A' across 2 columns ])
输出一组按钮,并绑定点击事件
- 参数
buttons (list) –
按钮列表。列表项的可用形式有:
dict:
{ "label":(str) 按钮标签,, "value":(str) 按钮值, "color":(str, optional) 按钮颜色, "disabled":(bool, optional) 按钮时否被禁用 }
tuple or list:
(label, value)单值: 此时label和value使用相同的值
其中,
value可以为任意对象。使用dict类型的列表项时,支持使用colorkey设置按钮颜色,可选值为primary、secondary、success、danger、warning、info、light、dark.Example:
put_buttons([dict(label='success', value='s', color='success')], onclick=...)
onclick (callable / list) –
按钮点击回调函数.
onclick可以是函数或者函数组成的列表.onclick为函数时, 签名为onclick(btn_value).btn_value为被点击的按钮的value值onclick为列表时,列表内函数的签名为func(). 此时,回调函数与buttons一一对应Tip: 可以使用
functools.partial来在onclick中保存更多上下文信息.Note: 当使用 基于协程的会话实现 时,回调函数可以为协程函数.
small (bool) – 是否使用小号按钮,默认为False
link_style (bool) – 是否将按钮显示为链接样式,默认为False
outline (bool) – 是否将按钮显示为镂空样式,默认为False
group (bool) – 是否将按钮合并在一起,默认为False
scope, position (int) – 与
put_text函数的同名参数含义一致callback_options –
回调函数的其他参数。根据选用的 session 实现有不同参数
- CoroutineBasedSession 实现
mutex_mode: 互斥模式。默认为
False。若为True,则在运行回调函数过程中,无法响应当前按钮组的新点击事件,仅当onclick为协程函数时有效
- ThreadBasedSession 实现
serial_mode: 串行模式模式。默认为
False,此时每次触发回调,回调函数会在新线程中立即执行。
开启serial_mode后,该按钮的回调会在会话内的一个固定线程内串行执行,且其他所有新的点击事件的回调(包括
serial_mode=False的回调)都将排队等待当前点击事件运行完成。如果回调函数运行时间很短,可以开启serial_mode来提高性能。
Example:
from functools import partial def row_action(choice, id): put_text("You click %s button with id: %s" % (choice, id)) put_buttons(['edit', 'delete'], onclick=partial(row_action, id=1)) def edit(): put_text("You click edit button") def delete(): put_text("You click delete button") put_buttons(['edit', 'delete'], onclick=[edit, delete])
在 1.5 版更改: Add
disabledbutton support. Thevalueof button can be any object.
输出一个按钮,并绑定点击事件
- 参数
label (str) – Button label
onclick (callable) – 按钮点击回调函数
color (str) – 按钮颜色。可选值为
primary、secondary、success、danger、warning、info、light、dark.disabled (bool) – Whether the button is disabled
small, link_style, outline, scope, position (-) – 与
put_buttons()函数的同名参数含义一致
Example:
put_button("click me", onclick=lambda: toast("Clicked"), color='success', outline=True)
1.4 新版功能.
在 1.5 版更改: add
disabledparameter
-
pywebio.output.put_image(src, format=None, title='', width=None, height=None, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出图片
- 参数
src – 图片内容. 可以为: 字符串类型的URL, bytes-like object 表示的图片二进制内容,
PIL.Image.Image实例title (str) – 图片描述
width (str) – 图像的宽度,可以是CSS像素(数字px)或者百分比(数字%)。
height (str) – 图像的高度,可以是CSS像素(数字px)或者百分比(数字%)。可以只指定 width 和 height 中的一个值,浏览器会根据原始图像进行缩放。
format (str) – 图片格式,非必须。如
png,jpeg,gif等, 仅在src为非URL时有效scope, position (int) – 与
put_text函数的同名参数含义一致
Example:
img = open('/path/to/some/image.png', 'rb').read() put_image(img, width='50px') put_image('https://www.python.org/static/img/python-logo.png')
-
pywebio.output.put_file(name, content, label=None, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 显示一个文件下载链接
在浏览器上的显示为一个以文件名为名的链接,点击链接后浏览器自动下载文件。
- 参数
name (str) – 下载保存为的文件名
content – 文件内容. 类型为 bytes-like object
label (str) – 下载链接的显示文本,默认和文件名相同
scope, position (int) – 与
put_text函数的同名参数含义一致
Example:
content = open('./some-file', 'rb').read() put_file('hello-world.txt', content, 'download me')
-
pywebio.output.put_tabs(tabs, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出横向标签栏Tabs
- 参数
tabs (list) – 标签列表,列表项为一个 dict:
{"title": "Title", "content": ...},其中content表示标签内容,可以为字符串、put_xxx()调用或由它们组成的列表。scope, position (int) – 与
put_text函数的同名参数含义一致
put_tabs([ {'title': 'Text', 'content': 'Hello world'}, {'title': 'Markdown', 'content': put_markdown('~~Strikethrough~~')}, {'title': 'More content', 'content': [ put_table([ ['Commodity', 'Price'], ['Apple', '5.5'], ['Banana', '7'], ]), put_link('pywebio', 'https://github.com/wang0618/PyWebIO') ]}, ])
1.3 新版功能.
-
pywebio.output.put_collapse(title, content=[], open=False, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出可折叠的内容
- 参数
title (str) – 内容标题
content (list/str/put_xxx()) – 内容可以为字符串或
put_xxx类输出函数的返回值,或者由它们组成的列表。open (bool) – 是否默认展开折叠内容。默认不展开内容
scope, position (int) – 与
put_text函数的同名参数含义一致
Example:
put_collapse('Collapse title', [ 'text', put_markdown('~~Strikethrough~~'), put_table([ ['Commodity', 'Price'], ['Apple', '5.5'], ]) ], open=True) put_collapse('Large text', 'Awesome PyWebIO! '*30)
-
pywebio.output.put_scrollable(content=[], height=400, keep_bottom=False, border=True, scope=None, position=- 1, **kwargs) → pywebio.io_ctrl.Output[源代码]¶ 固定高度内容输出区域,内容超出则显示滚动条
- 参数
content (list/str/put_xxx()) – 内容可以为字符串或
put_xxx类输出函数的返回值,或者由它们组成的列表。height (int/tuple) – 区域的高度(像素),内容超出此高度则使用滚动条。可以传入
(min_height, max_height)来表示高度的范围,比如(100, 200)表示区域高度最小100像素、最高200像素。若不想限制高度,则传入Nonekeep_bottom (bool) – Whether to keep the content area scrolled to the bottom when updated.
border (bool) – 是否显示边框
scope, position (int) – 与
put_text函数的同名参数含义一致
Example:
import time put_scrollable(put_scope('scrollable'), height=200, keep_bottom=True) put_text("You can click the area to prevent auto scroll.", scope='scrollable') while 1: put_text(time.time(), scope='scrollable') time.sleep(0.5)
在 1.1 版更改: 添加
height参数,移除max_height参数;添加keep_bottom参数在 1.5 版更改: remove
horizon_scrollparameter
-
pywebio.output.put_widget(template, data, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 输出自定义的控件
- 参数
template – html模版,使用 mustache.js 语法
data (dict) –
渲染模版使用的数据.
数据可以包含输出函数(
put_xxx())的返回值, 可以使用pywebio_output_parse函数来解析put_xxx()内容;对于字符串输入,pywebio_output_parse会将解析成文本.⚠️:使用
pywebio_output_parse函数时,需要关闭mustache的html转义:{{& pywebio_output_parse}}, 参见下文示例.scope, position (int) – 与
put_text函数的同名参数含义一致
- Example
tpl = ''' <details {{#open}}open{{/open}}> <summary>{{title}}</summary> {{#contents}} {{& pywebio_output_parse}} {{/contents}} </details> ''' put_widget(tpl, { "open": True, "title": 'More content', "contents": [ 'text', put_markdown('~~Strikethrough~~'), put_table([ ['Commodity', 'Price'], ['Apple', '5.5'], ['Banana', '7'], ]) ] })
其他交互¶
-
pywebio.output.toast(content, duration=2, position='center', color='info', onclick=None)[源代码]¶ 显示一条通知消息
- 参数
content (str) – 通知内容
duration (float) – 通知显示持续的时间,单位为秒。
0表示不自动关闭(此时消息旁会显示一个关闭图标,用户可以手动关闭消息)position (str) – 通知消息显示的位置,可以为
'left'/'center'/'right'color (str) – 通知消息的背景颜色,可以为
'info'/'error'/'warn'/'success'或以'#'开始的十六进制颜色值onclick (callable) –
点击通知消息时的回调函数,回调函数不接受任何参数。
Note: 当使用 基于协程的会话实现 时,回调函数可以为协程函数.
Example:
def show_msg(): put_text("You clicked the notification.") toast('New messages', position='right', color='#2188ff', duration=0, onclick=show_msg)
-
pywebio.output.popup(title, content=None, size='normal', implicit_close=True, closable=True)[源代码]¶ 显示弹窗
⚠️: PyWebIO不允许同时显示多个弹窗,在显示新弹窗前,会自动关闭页面上存在的弹窗。可以使用
close_popup()主动关闭弹窗- 参数
title (str) – 弹窗标题
content (list/str/put_xxx()) – 弹窗内容. 可以为字符串或
put_xxx类输出函数的返回值,或者为它们组成的列表。size (str) – 弹窗窗口大小,可选值:
'large','normal'and'small'.implicit_close (bool) – 是否可以通过点击弹窗外的内容或按下
Esc键来关闭弹窗,默认为Falseclosable (bool) – 是否可由用户关闭弹窗. 默认情况下,用户可以通过点击弹窗右上角的关闭按钮来关闭弹窗。 设置为
False时弹窗仅能通过popup_close()关闭,此时implicit_close参数将被忽略.
popup()支持直接传入内容、上下文管理器、装饰器三种形式的调用直接传入内容:
popup('popup title', 'popup text content', size=PopupSize.SMALL) popup('Popup title', [ put_html('<h3>Popup Content</h3>'), 'html: <br/>', put_table([['A', 'B'], ['C', 'D']]), put_buttons(['close_popup()'], onclick=lambda _: close_popup()) ])
作为上下文管理器使用:
with popup('Popup title') as s: put_html('<h3>Popup Content</h3>') put_text('html: <br/>') put_buttons([('clear()', s)], onclick=clear) put_text('Also work!', scope=s)
上下文管理器会开启一个新的输出scope并返回scope名。在上下文管理器中的输出内容默认会输出到popup窗口中。在上下文管理器退出后,popup窗口并不会随之关闭,你可以继续使用输出函数的
scope参数来输出内容到popup窗口内。作为装饰器使用:
@popup('Popup title') def show_popup(): put_html('<h3>Popup Content</h3>') put_text("I'm in a popup!") ... show_popup()
布局与样式¶
-
pywebio.output.put_row(content=[], size=None, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 使用行布局输出内容. 内容在水平方向从左往右排列成一行
- 参数
content (list) – 子元素列表, 列表项为
put_xxx()调用或者None,None表示空白行间距size (str) –
用于指示子元素的宽度, 为空格分割的宽度值列表.宽度值需要和content中子元素一一对应(None子元素也要对应宽度值).size 默认给None元素分配10像素宽度,并为剩余元素平均分配宽度.宽度值可用格式:
像素值: 例如:
100px百分比: 表示占可用宽度的百分比. 例如:
33.33%fr关键字: 表示比例关系, 2fr 表示的宽度为 1fr 的两倍auto关键字: 表示由浏览器自己决定长度minmax(min, max): 产生一个长度范围,表示长度就在这个范围之中。它接受两个参数,分别为最小值和最大值。 例如:minmax(100px, 1fr)表示长度不小于100px,不大于1fr
scope, position (int) – 与
put_text函数的同名参数含义一致
- Example
# Two code blocks of equal width, separated by 10 pixels put_row([put_code('A'), None, put_code('B')]) # The width ratio of the left and right code blocks is 2:3, which is equivalent to size='2fr 10px 3fr' put_row([put_code('A'), None, put_code('B')], size='40% 10px 60%')
-
pywebio.output.put_column(content=[], size=None, scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 使用列布局输出内容. 内容在竖直方向从上往下排列成一列
-
pywebio.output.put_grid(content, cell_width='auto', cell_height='auto', cell_widths=None, cell_heights=None, direction='row', scope=None, position=- 1) → pywebio.io_ctrl.Output[源代码]¶ 使用网格布局输出内容
- 参数
content – 输出内容.
put_xxx()/ None 组成的二维数组, None 表示空白. 数组项可以使用span()函数设置元素在网格的跨度.cell_width (str) – 网格元素的宽度.
cell_height (str) – 网格元素的高度.
cell_widths (str) – 网格每一列的宽度. 宽度值用空格分隔. 不可以和
cell_width参数同时使用.cell_heights (str) – 网格每一行的高度. 高度值用空格分隔. 不可以和
cell_height参数同时使用.direction (str) –
排列方向. 为
'row'或'column'.'row'时表示,content中的每一个子数组代表网格的一行;'column'时表示,content中的每一个子数组代表网格的一列.scope, position (int) – 与
put_text函数的同名参数含义一致
cell_width,``cell_height``,``cell_widths``,``cell_heights`` 参数中的宽度/高度值格式参考put_row()函数的size参数注释.- Example
put_grid([ [put_text('A'), put_text('B'), put_text('C')], [None, span(put_text('D'), col=2, row=1)], [put_text('E'), put_text('F'), put_text('G')], ], cell_width='100px', cell_height='100px')
-
pywebio.output.style(outputs, css_style) → Union[pywebio.io_ctrl.Output, pywebio.io_ctrl.OutputList][源代码]¶ 自定义输出内容的css样式
1.3 版后已移除: 为输出设置样式的新方式参见 User Guide.
- 参数
outputs (list/put_xxx()) – 输出内容,可以为
put_xxx()调用或其列表。outputs为列表时将为每个列表项都添加自定义的css样式。css_style (str) – css样式字符串
- 返回
添加了css样式的输出内容
Note: 若
outputs为list,则outputs中每一项都会被添加css样式, 其返回值可用于任何接受put_xxx()列表的地方。- Example
style(put_text('Red'), 'color:red') style([ put_text('Red'), put_markdown('~~del~~') ], 'color:red') put_table([ ['A', 'B'], ['C', style(put_text('Red'), 'color:red')], ]) put_collapse('title', style([ put_text('text'), put_markdown('~~del~~'), ], 'margin-left:20px'))