在libchamplain中控制z顺序

时间:2018-05-22 13:38:29

标签: python geospatial gtk3 libchamplain

我怀疑解决方案在libchamplain范围内,但我也在这里问,以防有人知道出路。

在一个小型的Python-Gtk3程序中,我使用libchamplain来选择一个位置,并指出一个维度。

为此,我向用户提供了一个圆圈,他们可以使用两个标记来控制,中心和通过。

当您拖动中心时,通过'保持原样,圆圈相应地适应。当您拖动“直通点”时,您将控制圆的半径。拖动圆圈时,两个标记随之移动。

问题在于第三个选项,因为看起来,libchamplain坚持按z顺序将对象拉到前面,所以我再也无法到达中心点。

我打开issue there,提供source code of my python program。我的解决方案,非常脏,是每次拖动圆圈时移除标记并再次创建它们。新的标记会产生圆圈,这就是我想要的,但这不是我想要的方式。

我想知道在当前版本的libchamplain中是否有人有更整洁的解决方案。

1 个答案:

答案 0 :(得分:0)

显然,libchamplain 0.12不支持new 5000 4999.96331002 old 5000 4991.73952992 new 10000 9999.92662005 old 10000 9956.9314274 new 50000 49999.6477761 old 50000 49591.6104893 new 100000 99999.2172809 old 100000 94841.227219 属性:图层中标记的z顺序由它们在图层子列表中出现的顺序决定。这最初与将标记添加到图层的顺序相同。

真正的困惑(从我的角度来看)在你点击一个对象时开始,因为在那一刻libchamplain将该对象移动到其容器的子节点的末尾,即在z-ordering的顶部

图书馆馆长JiříTechet建议将自己的标记构建为最佳解决方案,如果我坚持以这种方式滥用API,那么就这样做:

z-position