2014-02-12 19 views
1

我正在构建一个GUI,其中有几页,每页都有一个wxribbon,我有几个面板上有按钮。我想要的是让用户能够拖动页面上的面板根据他们的需要重新排序。我是wxpython的新手,我不知道该怎么做。我只需要一些指导就如何做到这一点。任何帮助都会很棒。谢谢。我已经附上了一个简单的彩带代码与面板。如何能够拖动面板在wxribbon中为wxpython重新排序

self._ribbon = RB.RibbonBar(self, wx.ID_ANY, size = (1368,350), style = RB.RIBBON_BAR_DEFAULT_STYLE | RB.RIBBON_BAR_ALWAYS_SHOW_TABS) 

workpiece = RB.RibbonPage(self._ribbon, WORKPIECE, "Workpiece", Bitmap("eye.xpm")) 
panel1 = RB.RibbonPanel(workpiece,wx.ID_ANY,"New Block",Bitmap("selection_panel.xpm")) 
panel2 = RB.RibbonPanel(workpiece,wx.ID_ANY,"New Block",Bitmap("selection_panel.xpm")) 
panel3 = RB.RibbonPanel(workpiece,wx.ID_ANY,"New Block",Bitmap("selection_panel.xpm")) 

回答

3

不幸的是,该功能不是wxPython内置的。我知道的最接近的事情是AUI框架中的“可停靠”的痛苦。我会建议看看,尤其是wx.lib.agw.aui中纯粹的AUI的Python版本。您可以在wxPython演示中看到它的使用示例。

我在想,您可能可以使用您的功能区控件中的一个停靠栏,并将停靠的窗格添加到它,然后可以移动。我不确定这是否会以您期望的方式工作,但它是最好的可用,无需创建新的东西。否则,你将不得不创建一个自定义小部件。

+0

非常感谢您的回答。看来,我将不得不创建我自己的自定义小部件。只是一个小的查询,我不能从AUI复制页面重新排序代码,并为功能区面板创建类似的代码。这只是一个想法。我可能完全错误。 – Samyak

+0

您可能可以。我肯定会从那些代码开始,因为它已经找到了可停靠的东西。 –