""" 将刷新ui的部分, 封装成函数;
import random
numbers = []
class Test:
def __init__(self, number):
self.number = number
@ui.refreshable
def number_ui(self) -> None:
ui.label(', '.join(str(n) for n in sorted(numbers)))
def add_number(self) -> None:
numbers.append(random.randint(0, 100))
self.number_ui.refresh()
test_part = Test(number=1)
test_part.number_ui()
ui.button('Add random number', on_click=test_part.add_number)
ui.run()
"""
""" 输入框用正则表达式限制条件
import re
ui.input(
placeholder='时分(例: 16:30)',
validation={
'格式错误(例: 16:30)': lambda value: re.match(r"\b\d{1,2}:\d{2}\b", value),
},
on_change=lambda event: ui.notify(f'cur value: {event.value}')
)
ui.run()
ui.input(
placeholder='偏离值',
validation={
'必须为数字': lambda value: re.match(r'^-?\d+(\.\d+)?$', value),
'值不能为负数': lambda value: float(value) > 0
},
on_change=lambda event: ui.notify(f'cur value: {event.value}')
)
ui.run()
"""
""" python 定义接口类
from abc import ABC, abstractmethod
class MyInterface(ABC):
@abstractmethod
def my_method(self):
pass
class MyClass(MyInterface):
def my_method(self):
print("MyClass my_method.")
object = MyClass()
object.my_method()
"""
""" footer 用定时器更新;
from extern.dataset import statistics_columns, statistics_rows
with ui.footer() as footer_part:
footer_table = ui.table(columns=statistics_columns, rows=statistics_rows).classes('max-h-40') # 控制最大高度
@ui.refreshable
def update_statistics_ret_func():
statistics_rows[0]['bid_deal_avg_price'] += 1
footer_table.update()
ui.timer(1, update_statistics_ret_func)
ui.run()
"""