2014-02-12 3 views
1

나는 몇 페이지의 wxribbon이있는 GUI를 만들고 있으며 각 페이지에는 버튼이있는 패널이 거의 없습니다. 필자가 원하는 것은 사용자가 패널을 드래그하여 필요에 따라 패널을 다시 정렬 할 수있게하는 것입니다. 나는 wxpython의 초보자이며 어떻게해야할지 모른다. 이 작업을 수행하는 방법에 대한 지침으로 일부만 필요합니다. 어떤 도움이라도 좋을 것입니다. 감사. 나는 간단한 리본 코드를 패널에 붙였다.패널을 드래그하여 wxpython의 wxribbon에서 순서를 바꿀 수있는 방법

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

가능할 수도 있습니다. 나는 그것이 이미 도킹 할 수있는 물건을 가지고 있기 때문에 분명히 그 코드로 시작할 것입니다. –