0
点赞
收藏
分享

微信扫一扫

量化交易之nicegui篇 - 模型属性绑定控件/下拉框/滚动视图/菜单/hint提示/timer


""" input bind value of model
from models.xbond_model import XBondModel

bond_model = XBondModel()
test_input = ui.input(placeholder='例: 220220')
test_input.bind_value(bond_model, 'symbol')

def button_click():
    ui.notify(f'test_input.value: {test_input.value}')

ui.button('click', on_click=button_click)
ui.run()
"""

""" 两个下拉框内容互相绑定, 可输入的下拉框, 可多选的下拉框;
from nicegui import ui

select1 = ui.select([1, 2, 3], value=1)
select2 = ui.select({1: 'One', 2: 'Two', 3: 'Three'}).bind_value(select1, 'value')

continents = [
    'Asia',
    'Africa',
    'Antarctica',
    'Europe',
    'Oceania',
    'North America',
    'South America',
]
select3 = ui.select(options=continents, with_input=True, on_change=lambda e: ui.notify(e.value)).classes('w-40')

names = ['Alice', 'Bob', 'Carol']
select4 = ui.select(names, multiple=True, value=names[:2], label='comma-separated').classes('w-64')
select5 = ui.select(names, multiple=True, value=names[:2], label='with chips').classes('w-64').props('use-chips')

ui.run()
"""

""" 文本框输入, 增加判断条件, 输出错误信息;
test_input = ui.input(
    label='Text',
    placeholder='start typing',
    on_change=lambda e: result.set_text('you typed: ' + e.value),
    validation={
        'Input too long': lambda value: len(value) < 20,
        'Input too short': lambda value: len(value) > 3
    }
)
result = ui.label()

def button_click():
    ui.notify(message=f'{test_input.error}')

ui.button('click', on_click=button_click)
ui.run()
"""

""" 文本框的补全功能;
options = ['AutoComplete', 'NiceGUI', 'Awesome']
ui.input(label='Text', placeholder='start typing', autocomplete=options)
ui.run()
"""

""" 滚动视图;
with ui.row():
    with ui.scroll_area().classes('w-60 h-32 border'):
        ui.label('onepiece is real.')
        ui.label('onepiece is real.')
        ui.label('onepiece is real.')
        ui.label('onepiece is real.')
        ui.label('onepiece is real.')
        ui.label('onepiece is real.')
        ui.label('onepiece is real.')
        ui.label('onepiece is real.')

ui.run()
"""

"""
菜单按钮demo;

with ui.row().classes('w-full items-center'):
    result = ui.label().classes('mr-auto')
    with ui.button(icon='menu'):
        with ui.menu() as menu:
            ui.menu_item('Menu item 1', lambda: result.set_text('first item'))
            ui.menu_item('Menu item 2', lambda: result.set_text('second item'))
            ui.menu_item('Menu item 3 (keep open)', lambda: result.set_text('third item'), auto_close=False)
            ui.separator()
            ui.menu_item('Close', on_click=menu.close)

ui.run()
"""

""" hind 提示;

with ui.button(icon='thumb_up'):
    ui.tooltip('I like this').classes('bg-green')

ui.run()
"""

""" timer
from datetime import datetime

label = ui.label()
ui.timer(1.0, lambda: label.set_text(f'{datetime.now():%X}'))

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()
"""

举报

相关推荐

0 条评论