2014-02-12 26 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

您可能可以。我肯定會從那些代碼開始,因爲它已經找到了可停靠的東西。 –