2009-11-28 35 views
0

我正在使用python編寫像應用程序一樣的PAINT。我是python的新手,我正在使用wxpython進行GUI。我必須爲(線,圓等)等選項創建工具箱。使用python wiki中的工具欄創建示例。但無法理解addsimpletool如何工作wxpython創建工具箱

進口WX

類MyToolBar(wx.Frame): DEF 初始化(自我,父母,身份證,職稱):

 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