【发布时间】:2019-03-07 16:15:06
【问题描述】:
我正在使用与此处演示的模板类似的模板为我的散景应用创建仪表板:
基本上,我将我的应用程序的不同功能分成不同的脚本,这些脚本有一个函数返回一个 Panel 对象,其中包含要在我的 main.py 中定义的 Tabs 对象中导入的布局。
例如,这是我的 read.py 脚本返回的内容:
# First layout / plot
read_layout = bla.layout([firstColRaw,
secondColRaw,
bmo.Spacer(width=50),
thirdColRaw])
def read_tab():
tab = bmo.Panel(child=read_layout, title='Read in data')
return tab
这是我在 main.py 中的内容:
from scripts.read import read_tab
# Tabs to select the app function
tab1 = read_tab()
nav_tabs = [tab1]
tabs = bmo.Tabs(tabs=nav_tabs, width=1500)
# Create the main layout
layout_main = bla.column(buttons,
tabs,
height=300,
width=1500)
# Put the tabs in the current document for display
doc.add_root(layout_main)
当我尝试更新其中一个选项卡的布局时遇到问题。在这个特定示例中,我想动态地向用户显示环境中正在加载多少原始数据文件。
在这种特定情况下,我修改了 thirdColRaw 变量的内容,然后将 div 添加到布局对象。
如果我正在运行如上所示的应用程序,我将无法更新选项卡的内容。另一方面,如果我不使用 Tabs,而只是从 main.py 加载 read_layout 并将其添加到当前文档中,那么布局更新就可以了。
这是否意味着我不能动态修改/添加/删除面板布局组件?还是我做错了什么?
谢谢!
【问题讨论】: