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)