【发布时间】:2014-11-22 11:44:16
【问题描述】:
在滚动视图中嵌套一些小部件给了我这个错误
Exception Exception: Exception('Cannot push more than 8 level of stencil. (stack overflow)',) in 'kivy.graphics.stencil_instructions.StencilPush.apply' ignored
我知道不能堆叠超过 8 个 8 个模板感知对象;但我想知道这实际上意味着什么:在此之前,我已经在 Layout 中堆叠了超过 8 个交互式对象,但这次不行。
我的代码很长,所以我不能在这里写,这是管理它们不同交互的不同类型小部件的复杂嵌套。我想知道模具视图的这种限制是否限制了我对 kivy 的使用,或者这可能是我做的不好的管理。
[编辑]
这是使用滚动视图的小部件布局
class Edit_area(ScrollView):
def __init__(self,**kw):
super(Edit_area, self).__init__(**kw)
self.scroll_area_wrapper = Widget()
self.layout = BoxLayout(orientation = 'horizontal')
self.graph = Graph(xlabel='Time', ylabel='Posizione',
x_ticks_major=100, y_ticks_major=2,
y_grid_label=True, x_grid_label=True, padding=0,
x_grid=True, y_grid=True, xmin=0, xmax=1000, ymin=0, ymax=10, draw_border = True)
self.layout.add_widget(self.graph)
self.scroll_area_wrapper.add_widget(self.layout)
self.line = Editable_line()
self.scroll_area_wrapper.add_widget(self.line)
self.add_widget(self.scroll_area_wrapper)
因为 scrollView 只接受一个小部件,所以我使用了一个包装器来添加所有元素。 此外,元素“线”内部还有更多其他小部件,例如“点”和“样条点”。 Graph是kivy-garden图形包的类
【问题讨论】:
-
你能发布你的小部件布局吗?
-
我已经发布了实现滚动视图的类的声明。