有些基本组件的使用方法,很容易能够在官网找到案例和说明。但是有些细节修改可能不大好找,所以记录在这里。
1. 网页title 和 logo
Dash 默认的网页标签页名字和logo是下图这样:
改变标题只需要在实例化的时候加入 title
参数。
app = dash.Dash(__name__,title = '船舶识别')
修改logo只需要在assets目录下添加 favicon.ico
,默认logo就会被替换。
图片不显示坐标系
fig.update_layout(coloraxis_showscale=False,)
重置html.Button的“n_clicks”属性
问题就是n_click属性会在应用启动之后一直递增,所以不能用判断n_click是否为None来执行你的应用。
对于点击一次button改变应用某些动作的场景,必须改用另一种方法,就是判断这个按钮的状态是否改变。
@app.callback(Output(component_id='my-div', component_property='children'),
[Input('btn-nclicks-1', 'n_clicks'), Input('adding-rows-table', 'data')])
def update_output_div(n_clicks, data):
# if n_clicks is not None"
# something # 点击一次之后,一直会做,不会释放,因为n_click会一直增加,记录点击次数
changed_id = [p['prop_id'] for p in dash.callback_context.triggered][0] # 检查callback状态改变的控件
if 'btn-nclicks-1' in changed_id:
# 点击就做,不点不做
print(data)
else:
print("else loop")
浏览器支持的格式
而opencv-python竟然不支持X264编码,这不完犊子。
https://github.com/opencv/opencv-python/issues/81
查了半天是liscense的原因,需要自己编译opencv。