【问题标题】:wxWidgets splitted windowswxWidgets 分割窗口
【发布时间】:2016-01-14 12:54:20
【问题描述】:

我正在尝试创建结构以在单独的子窗口中一个在另一个下方绘制许多图形,看起来像这样:

我需要通过拖动分隔它们的线来更改这些图形的大小。

我尝试在 wxAUI 中使用窗格,但调整一个窗格的大小会影响另一个窗格,而且它似乎相当不稳定。主要问题是,当我将一个腰带移动到另一个时,它会开始推动它。或许有办法解决?

我也尝试使用多个wxSplitterWindow,每个都嵌套在另一个中,但这种策略似乎也失败了,因为调整一个窗口的大小会影响所有嵌套在里面的窗口,并且即使我尝试缓存事件EVT_SPLITTER_SASH_POS_CHANGED,它们的拆分器也会因大小而移动。

你有什么办法解决这个问题吗?

【问题讨论】:

  • 两种解决方案(AUI 和wxSplitterWindow)都应该工作,其中哪一种最好取决于您到底想做什么。您应该更准确地描述您的目标(即拖动分隔符时窗格应如何调整大小)以及您遇到的问题。
  • 嗨。我的问题是,在 AUI 中,一个窗扇正在推动其他窗扇并调整所有其他图形的大小。 wxSplitterWindow 也影响嵌套在里面的所有其他窗口。我想要达到的效果是,当在图形之间移动一条线时,它只会影响这条线划分的两个图形的大小。包括图表的一些最小尺寸。我最近尝试使用wxBoxSizerwxFlexGridSizer,仍然没有效果
  • @VZ。我刚刚找到了我需要的东西,但不幸的是它只适用于 wxPython。它被称为 MultiSplitterWindow。
  • 这里使用子窗口重要吗?我想知道您是否可以在图表之间添加自己的可拖动元素,并根据拖放的位置调整每个图表的大小。
  • @halfer 谢谢,我想这是个好主意,我只需要将图表放在某个窗口或框架内。仍然需要创建相当复杂的类,因为整个事物必须具有动态数字或图形。

标签: c++ wxwidgets


【解决方案1】:

恐怕确实没有开箱即用的解决方案可以满足您的需求。 wxSplitterWindow 本身是使用 wxWidgets API 实现的,因此您可以调整其代码以创建自己的支持多个拆分器的窗口,AFAICS 它应该非常简单,但仍然需要一些工作。

【讨论】:

  • 我想过修改wxSplitterWindow 代码来创建我想要的东西,但我想这需要很多时间,因为我对 wxWidgets 还很陌生
猜你喜欢
  • 2012-06-12
  • 2021-12-23
  • 1970-01-01
  • 2014-07-18
  • 2012-07-06
  • 2010-12-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多