我有一个 wx.Panel,里面有多个孩子。
当放置另一个孩子时,我如何判断它是否没有踩到已经放置的孩子?
(我的意思是我可以想到我遍历孩子列表的解决方案,获取他们所有的位置和大小并进行数学运算......但我想知道是否还没有更简单的解决方案)
[编辑]:我需要在父面板上有多个带有轮廓的面板,以及连接子面板的线条。这个想法是能够判断一条线是否没有穿过另一个面板。
我的建议是通过使用 sizers 放置孩子来避免这个问题。轻松多了。
我从您的编辑中看到,您并不关心重叠的小部件,正如您的问题的标题所示,而是一条线是否与小部件重叠。
我对这个不同的问题的建议是研究使用 GraphViz ( http://www.graphviz.org/ ),它将计算有效的布局,最大限度地减少重叠并经常完全消除它们。有关可以实现的相同示例,请查看http://ravenspoint.com/maps.html