2009-11-28 5 views
0

나는 python.I을 사용하여 응용 프로그램과 같은 PAINT를 작성하고 있습니다. Python에 익숙하지 않고 GUI 용 wxpython을 사용하고 있습니다. 파이썬 wiki에서 도구 모음 만들기 예제를 사용하여 (선, 원 등 기타 옵션) 도구 상자를 만들어야합니다. 그러나 addsimpletool가 어떻게 작동하는지 이해할 수 없다wxpython 도구 상자 만들기

수입 WX

클래스 MyToolBar (wx.Frame) : 데프 초기화 (자기, 부모, ID, 제목) : 내가 가지고있는

 wx.Frame.__init__(self, parent, id, title, wx.DefaultPosition, wx.Size(350, 250)) 
    vbox = wx.BoxSizer(wx.VERTICAL) 
    toolbar = wx.ToolBar(self, -1, style=wx.TB_VERTICAL | wx.NO_BORDER) 

      toolbar.AddSimpleTool(1,wx.Image('stock_new.png',wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'New', '') 


    class MyApp(wx.App): 
     def OnInit(self): 
     frame = MyToolBar(None, -1, '') 
     frame.Show(True) 
     return True 

    app = MyApp(0) 
    app.MainLoop() 

디 .png 형식으로 이미지를 만듭니다. 이것을 할 수있는 다른 방법이 있습니까? 누군가가 내게 어떻게 작동하는지 알려주거나 그 문서를 가리 키길 바랍니다.

+0

Tkinter를 배우고 싶으십니까? –

답변

0

내 툴바에 항목을 추가하는 유틸리티 함수를 작성했습니다.

def tool_item(window, toolbar, label, func, icon): 
    icon = wx.Bitmap('icons/%s' % icon) 
    item = toolbar.AddSimpleTool(-1, icon, label) 
    if func: 
     window.Bind(wx.EVT_TOOL, func, id=item.GetId()) 
    return item 

... 

def create_toolbar(self): 
    # create toolbar 
    toolbar = wx.ToolBar(self, -1, style=wx.HORIZONTAL|wx.TB_FLAT|wx.TB_NODIVIDER) 
    toolbar.SetToolBitmapSize((18,18)) # looks better with 16x16 icons 

    # add items to toolbar 
    tool_item(self, toolbar, 'New Project', self.on_new_project, 'page.png') 
    tool_item(self, toolbar, 'Open Project', self.on_open_project, 'folder_page.png') 
    toolbar.AddSeparator() 
    # (etc...) 

    # finish up 
    toolbar.Realize() 
    toolbar.Fit() 
    return toolbar