在wx.boxsizer而不是面板中的Matplotlib

时间:2012-08-09 16:14:29

标签: matplotlib wxpython sizer

我在这里读到: http://wiki.wxpython.org/Getting%20Started#Windows_or_Frames.3F 使用Sizer而不是面板在框架内安排内容是有好处的; sizer更灵活。然而,许多带有wxpython的matplotlib示例仍然使用面板。通常他们会为情节区分一个面板。我使用Sizer设计了一个GUI,并希望将matplotlib画布放入其中一个Sizer中,而不受面板明显的限制。有谁知道这是怎么做的,或者我可以找到一个非常简单的例子? 非常感谢,安德鲁。

1 个答案:

答案 0 :(得分:0)

我对matplotlib不熟悉,但碰巧遇到了关于嵌入matplotlib画布的this previous SO question

据我所知,画布实际上是在sizer中,但sizer然后被包裹在一个面板中。这样做的好处是可以封装所有相关变量并将它们保持在一起。即画布和所有相关变量都保存为可以调用的单个项目。如果你计划有多个画布或者你的画布只是一个更复杂的GUI的一部分,这是很好的。

那就是说,我认为你没理由把它放在面板上。如果您的应用程序非常简单(即它只包含画布而不是其他内容),您可以将它放在框架的sizer中(请参阅上一个问题的答案并将wx.Panel更改为wx.Frame)。