如何使用IronPython在Spotfire中编程布局部分。

huangapple go评论123阅读模式
英文:

How to program layout sections in spotfire using ironpython

问题

我希望我的布局由两组并排的可视元素组成,并且这些组应该堆叠。然而,使用下面的代码,我得到了我的前两个可视元素并排,然后第三个和第四个堆叠,但也属于并排部分。

我尝试结束并排部分,但结果出现错误消息,指出“SystemError: 无法在根部分结束后开始一个部分”。

layout = LayoutDefinition()
layout.BeginSideBySideSection()
counter = 0
for visual in page.Visuals:
    if counter == 2:
        layout.BeginStackedSection()
        layout.Add(visual)
    else:
        layout.Add(visual)
    counter += 1
layout.EndSection()
layout.EndSection()
page.ApplyLayout(layout)
英文:

I want my layout to consist of 2 sets of side-by-side visuals, and these sets should be stacked.
However, using the code below, I get my first two visualizations side-by-side, and then the third and fourth are stacked, but also part of the side-by-side section.

I tried ending the side-by-side section, but that results in error messages that I "SystemError: Cannot begin a section once the root section has been ended."

layout = LayoutDefinition()
layout.BeginSideBySideSection()
counter = 0
for visual in page.Visuals:
	if counter == 2:
		layout.BeginStackedSection()
		layout.Add(visual)
	else:
		layout.Add(visual)
	counter += 1
layout.EndSection()
layout.EndSection()
page.ApplyLayout(layout)

答案1

得分: 1

规则是,当你开始一个部分时,它需要有一个对应的结束部分,有点类似于XML。

我会这样做,除非你有特殊的原因要使用这个循环与计数器:

from Spotfire.Dxp.Application.Visuals import *
from Spotfire.Dxp.Application.Layout import LayoutDefinition
layout = LayoutDefinition()

visuals = list(page.Visuals)
layout.BeginStackedSection()
layout.BeginSideBySideSection()
layout.Add(visuals[0])
layout.Add(visuals[1])
layout.EndSection()
layout.BeginSideBySideSection()
layout.Add(visuals[2])
layout.Add(visuals[3])
layout.EndSection()
layout.EndSection()	
page.ApplyLayout(layout)
英文:

The rule is that when you start a section, it needs a corresponding end section, a bit like xml.

I would do something like this, unless you have a special reason for using this loop with the counter:

from Spotfire.Dxp.Application.Visuals import *
from Spotfire.Dxp.Application.Layout import LayoutDefinition
layout = LayoutDefinition()

visuals = list(page.Visuals)
layout.BeginStackedSection()
layout.BeginSideBySideSection()
layout.Add(visuals[0])
layout.Add(visuals[1])
layout.EndSection()
layout.BeginSideBySideSection()
layout.Add(visuals[2])
layout.Add(visuals[3])
layout.EndSection()
layout.EndSection()	
page.ApplyLayout(layout)

huangapple
  • 本文由 发表于 2023年4月11日 05:00:06
  • 转载请务必保留本文链接:https://go.coder-hub.com/75980689.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定