【问题标题】:Kivy stencil view limitsKivy 模具视图限制
【发布时间】: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图形包的类

【问题讨论】:

  • 你能发布你的小部件布局吗?
  • 我已经发布了实现滚动视图的类的声明。

标签: python kivy


【解决方案1】:

发现问题。 我写了一些糟糕的代码,试图在彼此内部实例化更多的模板视图。

我了解模板视图的限制纯粹与滚动视图(当然还有 stencilView 类本身)有关,因为它是唯一继承此类的。

所以你不能在彼此内部实例化超过 8 个滚动视图,这看起来非常好。

class stencilTest(App):
     def build(self):
        super(stencilTest, self).__init__()
        root = GridLayout(cols=1, spacing=10, size_hint_y=None)
        r = root
        for i in range(10):
            w = ScrollView(size_hint=(1, 1), size=(1000, 800))
            r.add_widget(w)
            r = r.children[0]       
        return root


if __name__ == "__main__":
     stencilTest().run()

如果有兴趣,此代码将重现错误

【讨论】:

    猜你喜欢
    • 2021-09-06
    • 2018-06-29
    • 2021-03-20
    • 2014-10-14
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 2017-10-28
    • 1970-01-01
    相关资源
    最近更新 更多