ui.run#
ui.run() 是 NiceGUI 的一个函数,它用于启动用户界面。这个函数可以接受一些可选参数来自定义应用的行为。下面是一些常用的参数:
host: 指定启动服务器的主机地址。默认值是'127.0.0.1'(在原生模式下),或者'0.0.0.0'(在其他模式下)。port: 指定使用哪个端口。默认值是8080(在正常模式下),或者一个自动确定的开放端口(在原生模式下)。title: 页面标题。默认值是'NiceGUI',但是可以在每个页面上重写。viewport: 页面元数据视口内容。默认值是'width=device-width, initial-scale=1',但是可以在每个页面上重写。favicon: 相对文件路径,绝对URL到一个 favicon,或者 emoji(例如'🚀',适用于大多数浏览器)。默认值是None,将使用 NiceGUI 图标。dark: 是否使用 Quasar 的暗色模式。默认值是False。如果设置为None,则使用“自动”模式。language: Quasar 元素的语言。默认值是'en-US'。binding_refresh_interval: 绑定更新之间的时间间隔。默认值是0.1秒。更大的值对 CPU 更友好。reconnect_timeout: 服务器等待浏览器重新连接的最大时间。默认值是3.0秒。show: 是否自动在浏览器标签页中打开用户界面。默认值是True。on_air: 技术预览:如果设置为True,允许临时远程访问。默认值是禁用的。native: 是否在大小为 800x600 的原生窗口中打开用户界面。默认值是False。如果设置为True,将停用show选项,并自动找到一个开放的端口。window_size: 以提供的尺寸在一个原生窗口中打开用户界面。例如 (1024, 786)。默认值是None,也会激活native选项。fullscreen: 是否在全屏窗口中打开用户界面。默认值是False。如果设置为True,也会激活native选项。frameless: 是否在无边框窗口中打开用户界面。默认值是False。如果设置为True,也会激活native选项。reload: 是否在文件更改时自动重新加载用户界面。默认值是True。uvicorn_logging_level:uvicorn服务器的日志记录级别。默认值是'warning'。uvicorn_reload_dirs: 以逗号分隔的列表字符串,用于监视的目录。默认值是当前工作目录。uvicorn_reload_includes: 以逗号分隔的列表字符串,用于修改时触发重新加载的glob模式。默认值是'*.py'。uvicorn_reload_excludes: 以逗号分隔的列表字符串,应该忽略重新加载的glob模式。默认值是'.*, .py[cod], .sw.*, ~*'。tailwind: 是否使用 Tailwind。这是一个实验性的选项,默认值是True。prod_js: 是否使用 Vue 和 Quasar 依赖的生产版本。默认值是True。endpoint_documentation: 控制哪些端点出现在自动生成的 OpenAPI 文档中。默认值是'none',选项有'none','internal','page','all'。storage_secret: 基于浏览器的存储的秘密密钥。默认值是None,启用ui.storage.individual和ui.storage.browser需要一个值。show_welcome_message: 是否显示欢迎消息。默认值是True。kwargs: 其他关键字参数将传递给uvicorn.run。
from nicegui import ui
ui.label('page with custom title')
# ui.run(title='My App')
<nicegui.elements.label.Label at 0x7f5128ff3f70>
Emoji favicon#
你可以使用表情符号作为网页图标(favicon)。在Chrome、Firefox和Safari浏览器中都可以实现。
from nicegui import ui
ui.label('NiceGUI rocks!')
# ui.run(favicon='🚀')
<nicegui.elements.label.Label at 0x7f5128e34880>
Base64 favicon#
可以使用 base64 编码的图片作为图标。
from nicegui import ui
ui.label('NiceGUI with a red dot!')
icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQVQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='
# ui.run(favicon=icon)
SVG favicon#
你可以使用 SVG 作为网页图标(favicon)。在Chrome、Firefox和Safari浏览器中都可以实现。
from nicegui import ui
ui.label('NiceGUI makes you smile!')
smiley = '''
<svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
<circle cx="100" cy="100" r="78" fill="#ffde34" stroke="black" stroke-width="3" />
<circle cx="80" cy="85" r="8" />
<circle cx="120" cy="85" r="8" />
<path d="m60,120 C75,150 125,150 140,120" style="fill:none; stroke:black; stroke-width:8; stroke-linecap:round" />
</svg>
'''
# ui.run(favicon=smiley)
自定义欢迎消息#
你可以通过在命令行中将 show_welcome_message 设置为 False 来关闭默认的欢迎消息。相反,你可以使用自定义启动处理程序打印自己的欢迎消息。
from nicegui import app, ui
ui.label('App with custom welcome message')
app.on_startup(lambda: print('Visit your app on one of these URLs:', app.urls))
# ui.run(show_welcome_message=False)