【发布时间】:2016-01-14 12:54:20
【问题描述】:
我正在尝试创建结构以在单独的子窗口中一个在另一个下方绘制许多图形,看起来像这样:
我需要通过拖动分隔它们的线来更改这些图形的大小。
我尝试在 wxAUI 中使用窗格,但调整一个窗格的大小会影响另一个窗格,而且它似乎相当不稳定。主要问题是,当我将一个腰带移动到另一个时,它会开始推动它。或许有办法解决?
我也尝试使用多个wxSplitterWindow,每个都嵌套在另一个中,但这种策略似乎也失败了,因为调整一个窗口的大小会影响所有嵌套在里面的窗口,并且即使我尝试缓存事件EVT_SPLITTER_SASH_POS_CHANGED,它们的拆分器也会因大小而移动。
你有什么办法解决这个问题吗?
【问题讨论】:
-
两种解决方案(AUI 和
wxSplitterWindow)都应该工作,其中哪一种最好取决于您到底想做什么。您应该更准确地描述您的目标(即拖动分隔符时窗格应如何调整大小)以及您遇到的问题。 -
嗨。我的问题是,在 AUI 中,一个窗扇正在推动其他窗扇并调整所有其他图形的大小。
wxSplitterWindow也影响嵌套在里面的所有其他窗口。我想要达到的效果是,当在图形之间移动一条线时,它只会影响这条线划分的两个图形的大小。包括图表的一些最小尺寸。我最近尝试使用wxBoxSizer和wxFlexGridSizer,仍然没有效果 -
@VZ。我刚刚找到了我需要的东西,但不幸的是它只适用于 wxPython。它被称为 MultiSplitterWindow。
-
这里使用子窗口重要吗?我想知道您是否可以在图表之间添加自己的可拖动元素,并根据拖放的位置调整每个图表的大小。
-
@halfer 谢谢,我想这是个好主意,我只需要将图表放在某个窗口或框架内。仍然需要创建相当复杂的类,因为整个事物必须具有动态数字或图形。