幻灯片-于小丘 Blog

NiceGUI - ui.label

标签 Label

显示一些文本。

参数 Param说明 Description
text标签中的内容
from nicegui import ui

ui.label('some label')

ui.run()
图片[1]-NiceGUI 中文文档 ui.label - 于小丘 Blog-于小丘 Blog

根据内容改变外观 Change Appearance Depending on the Content

你可以重写_handle_text_change方法来从其他元素的属性来更新标签内容。此方法也适用于绑定,示例如下:

from nicegui import ui

class status_label(ui.label):
    def _handle_text_change(self, text: str) -> None:
        super()._handle_text_change(text)
        if text == 'ok':
            self.classes(replace='text-positive')
        else:
            self.classes(replace='text-negative')

model = {'status': 'error'}
status_label().bind_text_from(model, 'status')
ui.switch(on_change=lambda e: model.update(status='ok' if e.value else 'error'))

ui.run()
图片[2]-NiceGUI 中文文档 ui.label - 于小丘 Blog-于小丘 Blog
图片[3]-NiceGUI 中文文档 ui.label - 于小丘 Blog-于小丘 Blog

参考 Reference

属性 Properties

属性名 Properties类型 Type说明 Description
classesClasses[Self]元素的classes
is_deletedbool元素是否被删除
is_ignoring_eventsbool元素是否正在忽略事件
propsProps[Self]元素的props
styleStyle[Self]元素的样式
textBindableProperty可绑定属性(译者注)
visibleBindableProperty可绑定属性(译者注)

方法 Methods (施工中)

方法名 Method返回值 return说明 Description
add_resource(
path: Union[str, Path]
)
None向元素中添加资源。

参数 path:
资源路径(例如: folder with CSS and JavaScript files)
add_slot(
name: str,
template: Optional[str] = None
)
Slot向元素中添加插槽(Slot)。

NiceGUI 使用了来自 Vue 的理念: 元素允许拥有多个插槽, 每个元素都可能有几个子类。许多元素具有一个插槽,例如 ui.card
 (QCard) 有且仅有一个Slot。但是更多复杂的组件诸如 ui.table
 (QTable)能够拥有更多的Slot,比如 "header", "body" 等等. 如果你使用NiceGUI的ui.row()函数来嵌套元素,那么你将把新的元素放置在行的默认槽中。但如果你使用table.add_slot(…)函数,则会进入另一个槽。
槽栈可以帮助NiceGUI跟踪当前用于新元素的槽。parent字段指向其元素。每当通过with表达式添加一个元素时,其默认槽也会自动添加。


参数 name:
Slot的名称

参数 template:
Slot的Vue模板

返回:
此slot
ancestors(
include_self: bool = False
)
Iterator[Element]遍历元素的父样式。


参数:include_self:
是否将元素本身包含在迭代中
bind_text(
target_object: Any,
target_name: str = 'text',
forward: Callable[…, Any] = […],
backward: Callable[…, Any] = […]
)
Self将此元素的文本绑定到目标对象的 target_name 属性上。
这种绑定是双向的,既从此元素到目标对象,也从目标对象到此元素。更新会立即发生,并且每当值发生变化时都会发生更新。在初始同步时,反向绑定具有优先权。


参数 target_object:
需要绑定的目标元素.

参数 target_name:
需要绑定的目标名称.

参数 forward:
用于在将值应用于目标之前对其进行操作的函数。

参数 backward:
用于在将值应用于目标之后对其进行操作的函数。
bind_text_from(
target_object: Any,
target_name: str = 'text',
backward: Callable[…, Any] = […]
)
Self将其他元素的 target_name 绑定到此元素上。
此绑定为单向绑定,仅从目标到此元素。绑定后会立即更新,并且每当目标元素更新后,此元素都会触发更新。


参数 target_object:
被绑定的对象名称。

参数 target_name:
 被绑定的属性名称。

参数 backward:
在将值应用于当前元素之前先应用于该值的函数。
bind_text_to(
target_object: Any,
target_name: str = 'text',
forward: Callable[…, Any] = […]
)
Self 将此元素的文本内容绑定到目标对象的target_name 上。
此绑定为单向绑定,仅从目标到此元素。绑定后会立即更新,并且每当目标元素更新后,此元素都会触发更新。

参数 target_object:
待绑定的对象名称。

参数 target_name:
待绑定的属性名称。

参数 forward:
在将值应用于目标元素之前先应用于该值的函数。
bind_visibility(
target_object: Any,
target_name: str = 'visible',
forward: Callable[…, Any] = […],
backward: Callable[…, Any] = […],
value: Any = None
)
Self将此元素的可见性绑定到目标对象的 target_name 属性上。

此绑定为单向绑定,仅从目标到此元素。绑定后会立即更新,并且每当目标元素更新后,此元素都会触发更新。反向绑定在初始同步时具有优先级。

参数 target_object:
被绑定的对象名称。

参数 target_name:
被绑定的属性名称。

参数 forward:
在将值应用于此元素之前先应用于该值的函数。

参数 backward:
在将值应用于此元素之后先应用于该值的函数。

param value:
可选 当目标值等于此值时,元素才可见,否则隐藏。
bind_visibility_from(
target_object: Any,
target_name: str = 'visible',
backward: Callable[…, Any] = […],
value: Any = None
)
Self将此元素的可见性绑定到目标对象的 target_name 属性上。
此绑定为单向绑定,仅从目标到此元素。绑定后会立即更新,并且每当目标元素更新后,此元素都会触发更新。

参数 target_object:
被绑定的对象名称。

参数 target_name:
被绑定的属性名称。

参数 backward:
在将值应用于此元素之后先应用于该值的函数。

param value:
可选 当目标值等于此值时,元素才可见,否则隐藏。
bind_visibility_to(
target_object: Any,
target_name: str = 'visible',
forward: Callable[…, Any] = […]
)
Self从其他元素的 target_name 绑定可见性。
此绑定为单向绑定,由此元素绑定到其他元素上。会立即发生更新,并且每当此元素显示或隐藏时,被绑定的元素也会同步响应显示或隐藏。

参数 target_object:
待绑定的对象名称。

参数 target_name:
待绑定的对象参数名。

参数 forward:
在将值应用于此元素之后先应用于该值的函数。
clear()None移除所有的子元素。
default_classes(
add: Optional[str] = None,
remove: Optional[str] = None,
replace: Optional[str] = None
)
type[Self]添加或移除默认 HTML classes.

此方法允许使用Tailwind或者Quasar类修改元素的外观或者布局。
删除或者替换类对不需要预定义的类的场景下很有用。这个类的所有元素都将共享这些HTML类。这些类必须在元素实例化之前被定义。

参数 add:
whitespace-delimited string of classes

参数 remove:
whitespace-delimited string of classes to remove from the element

参数 replace:
whitespace-delimited string of classes to use instead of existing ones
default_props(
add: Optional[str] = None,
remove: Optional[str] = None
)
type[Self]添加或移除默认 props.
这允许使用 Quasar 的 props 来修改元素的外观或者布局。由于 props 只是作为HTML属性应用,所以它们可以用于任何HTML元素。这个类的所有元素都会共享这些props。这些必须在元素实例化之前定义。
如果未指定值,则假定布尔属性为True。

参数 add:
whitespace-delimited list of either boolean values or key=value pair to add

参数 remove:
whitespace-delimited list of property keys to remove
default_style(
add: Optional[str] = None,
remove: Optional[str] = None,
replace: Optional[str] = None
)
type[Self]添加、移除或者重设默认 CSS definitions.

删除或者替换样式对不需要预定义样式的场景下很有用。这个类的所有元素都将共享这些CSS定义。这些必须在元素实例化之前定义。

参数 add:
semicolon-separated list of styles to add to the element

参数 remove:
semicolon-separated list of styles to remove from the element

参数 replace:
semicolon-separated list of styles to use instead of existing ones
delete()None删除元素以及它的所有子元素。
descendants(
include_self: bool = False
)
Iterator[Element]遍历此元素的子元素。

参数 include_self:
whether to include the element itself in the iteration
get_computed_prop(
prop_name: str,
timeout: float = 1
)
AwaitableResponse返回一个计算结果。

此函数需要使用await来等待,以便正确地返回计算属性。

参数 prop_name:
name of the computed prop

参数 timeout:
maximum time to wait for a response (default: 1 second)
mark(*markers: str)Self重设元素的标记。

标记用于标识需要使用 ElementFilter 进行查询的元素, ElementFilter 在测试中被广泛使用,也可以用来减少全局变量的数量或减少依赖关系的传递。

参数 markers:
list of strings or single string with whitespace-delimited markers; replaces existing markers
move(
target_container: Optional[Element] = None,
target_index: int = -1,
target_slot: Optional[str] = None
)
None将元素移动到其他容器中。

参数 target_container:
container to move the element to (default: the parent container)

参数 target_index:
index within the target slot (default: append to the end)

参数 target_slot:
slot within the target container (default: default slot)
on(
type: str,
handler: Optional[events.Handler[events.GenericEventArguments]] = None,
args: Union[None, Sequence[str],
Sequence[Optional[Sequence[str]]]] = None, throttle: float = 0.0,
leading_events: bool = True,
trailing_events: bool = True,
js_handler: Optional[str] = None
)
Self订阅元素的事件。

参数 type:
name of the event (e.g. "click", "mousedown", or "update:model-value")

参数 handler:
callback that is called upon occurrence of the event

参数 args:
arguments included in the event message sent to the event handler (default: None meaning all)

参数 throttle:
minimum time (in seconds) between event occurrences (default: 0.0)

参数 leading_events:
whether to trigger the event handler immediately upon the first event occurrence (default: True)

参数 trailing_events:
whether to trigger the event handler after the last event occurrence (default: True)

参数 js_handler:
JavaScript code that is executed upon occurrence of the event, e.g. (evt) => alert(evt) (default: None)
remove(
element: Union[Element, int]
)
None移除一个子元素。

参数 element:
either the element instance or its ID
run_method(
name: str,
*args: Any,
timeout: float = 1
)
AwaitableResponse在客户端运行方法。
如果是awaited函数, the result of the method call is returned. Otherwise, the method is executed without waiting for a response.

param name:
name of the method

param args:
arguments to pass to the method

param timeout:
maximum time to wait for a response (default: 1 second)
set_text(text: str)None设置元素中的文本。

参数 text:
待设置的文本内容。
set_visibility(visible: bool)None设置元素的可见性。

参数 visible:
元素是否可见。
tooltip(text: str)Self向此元素添加提示。

参数 text:
tooltip中的内容。
update()None立即在客户端中更新此元素。

遗产 Inheritance

  • 文本元素 TextElement
  • 元素 Element
  • 可见性 Visbility
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享