2024-05-17 03:18:52 发布
网友
我有一个wx.面板里面有多个孩子。你知道吗
我如何判断,当放置另一个孩子,如果它没有踩到一个已经放置的孩子?你知道吗
(我的意思是,我可以想出一个解决办法,在这个办法中,我把孩子们的名单写下来,得到他们所有的位置和大小,然后做数学。。。。但我想知道是否还有更简单的解决方案)
[编辑]:我需要在父面板上有多个具有轮廓的面板,以及连接子面板的线。这样做的目的是能够判断一条线是否没有穿过另一个面板。你知道吗
属于windows的组件(wx.面板, wx.静态线etc)有一个返回wx矩形. 你知道吗
wx.Rect有一个方法.Intersects(self, otherRect),如果两个元素重叠,该方法将返回true。你知道吗
.Intersects(self, otherRect)
还有一个wx.Rect2D,它有一些传统的功能——插值、获取交集和并集等
我的建议是通过使用尺寸器来放置孩子来避免这个问题。简单多了。你知道吗
我从您的编辑中看到,您并不关心重叠的小部件,正如您问题的标题所示,而是关心一行是否与小部件重叠。你知道吗
对于这个不同的问题,我的建议是研究如何使用GraphViz(http://www.graphviz.org/),它将计算有效的布局,使重叠最小化,并且通常完全消除重叠。对于可以实现的相同示例,请看http://ravenspoint.com/maps.html
属于windows的组件(wx.面板, wx.静态线etc)有一个返回wx矩形. 你知道吗
wx.Rect有一个方法
.Intersects(self, otherRect)
,如果两个元素重叠,该方法将返回true。你知道吗还有一个wx.Rect2D,它有一些传统的功能——插值、获取交集和并集等
我的建议是通过使用尺寸器来放置孩子来避免这个问题。简单多了。你知道吗
我从您的编辑中看到,您并不关心重叠的小部件,正如您问题的标题所示,而是关心一行是否与小部件重叠。你知道吗
对于这个不同的问题,我的建议是研究如何使用GraphViz(http://www.graphviz.org/),它将计算有效的布局,使重叠最小化,并且通常完全消除重叠。对于可以实现的相同示例,请看http://ravenspoint.com/maps.html
相关问题 更多 >
编程相关推荐