设计替代在WxPython中每次单击时弹出新帧

时间:2012-06-15 07:22:22

标签: python wxpython

我的应用包括从分光镜(光学仪器)查看实时馈送并从中提取帧。单击Feed中的某个点可启动新帧,以分析图像。每个框架处理单个面板

创建新框架的动作对于程序员来说非常容易(立即显示和聚焦捕获,离散对象,没有复杂的布局管理,关闭按钮很容易理解)。

我现在想要一个在单个窗口中工作的设计。什么是最简单的设计模式取代创建新框架的做法?它应该尽可能提供相同的优点(见前一段)。我正在考虑使用制表符来管理面板,因为它们可以捕捉焦点,隐藏/显示面板,优雅地破坏自己等。

2 个答案:

答案 0 :(得分:0)

我会将您的Feed放入sizer中,并为两个元素留出空间。除非sizer中的第二个空格可用,否则请将Feed展开以填充窗口。然后,当您单击该Feed时,将包含详细信息的面板添加到sizer的空白部分。

您可以添加一个关闭按钮,只需按照与当前相同的方式关闭和移除面板。

答案 1 :(得分:0)

创建一个包含两个主要元素的框架:

  1. 您当前的Feed
  2. 导航控件,例如wx.ListBox,wx.ListCtrl或wx.TreeCtrl,允许您滚动并单击要在元素(1)中显示的Feed。