计时器#
创建 NiceGUI 的主要动力之一是需要一个简单方法来定期更新界面,例如显示带有传入测量值的图表。计时器将使用给定的时间间隔重复执行回调函数。
interval
:调用计时器的间隔(可以在运行时更改)callback
:当时间间隔过去时要执行的函数或协程active
:是否应执行回调函数(可以在运行时更改)once
:是否仅在间隔指定的延迟后执行一次回调(默认:False
)
from datetime import datetime
from nicegui import ui
label = ui.label()
ui.timer(1.0, lambda: label.set_text(f'{datetime.now():%X}'))
# ui.run()
<nicegui.elements.timer.Timer at 0x7f254423ff70>
激活、停用和取消计时器#
您可以使用 active
属性来激活和停用计时器。您可以使用 cancel
方法来取消计时器。取消计时器后,它将无法再次激活。
from nicegui import ui
slider = ui.slider(min=0, max=1, value=0.5)
timer = ui.timer(0.1, lambda: slider.set_value((slider.value + 0.01) % 1.0))
ui.switch('active').bind_value_to(timer, 'active')
ui.button('Cancel', on_click=timer.cancel)
# ui.run()
<nicegui.elements.button.Button at 0x7f2502e84ac0>
在延迟后调用函数#
您可以使用带有 once
参数的计时器在延迟后调用函数。
from nicegui import ui
def handle_click():
ui.timer(1.0, lambda: ui.notify('Hi!'), once=True)
ui.button('Notify after 1 second', on_click=handle_click)
# ui.run()
<nicegui.elements.button.Button at 0x7f2502e85120>