wxpython创建工具箱

wxpython创建工具箱,wxpython,Wxpython,我正在使用python编写一个类似于绘画的应用程序。我是python新手,正在使用wxpython for GUI。我必须为(线、圆等选项)创建一个工具箱。使用PythonWiki中的工具栏创建示例。但无法理解addsimpletool是如何工作的 导入wx 类MyToolBar(wx.Frame): definit(自身、父项、id、标题): 我必须以.png格式创建图像。还有别的办法吗?我希望有人能告诉我它是如何工作的,或者告诉我它的任何文档我写了一个实用函数,可以将项目添加到工具栏中 de

我正在使用python编写一个类似于绘画的应用程序。我是python新手,正在使用wxpython for GUI。我必须为(线、圆等选项)创建一个工具箱。使用PythonWiki中的工具栏创建示例。但无法理解addsimpletool是如何工作的

导入wx

类MyToolBar(wx.Frame): definit(自身、父项、id、标题):


我必须以.png格式创建图像。还有别的办法吗?我希望有人能告诉我它是如何工作的,或者告诉我它的任何文档

我写了一个实用函数,可以将项目添加到工具栏中

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

你有兴趣学习Tkinter吗?
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