how to add a toolbar to a Frame using wxpython

Y

yadin

hi
please am learning wxpython and I Need help on getting examles of how
to create a toolbar with images
that is add a toolbar to a Frame using wxpython
using wxpython on a windows pc
how can i add a toolbar to a GUI
all sample codes i could find contain errors.
i did the following but it is wrong!
my biggest trouble seems to be with the IMAGES? do i have to create
them, load them...? or they come with python like in Matlab
thank you.

import wx

from pylab import*

class MainWindow(wx.Frame):
def __init__(self,parent,id,title):
self.dirname=''
wx.Frame.__init__(self,parent,wx.ID_ANY,
title,wx.DefaultPosition, wx.Size(320,410))

##############_______________________ADDING A
TOOLBAR___________________######################

toolbar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL |
wx.NO_BORDER)
toolbar.AddSimpleTool(1, wx.Image('stock_new.png',
wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'New', '')
toolbar.Realize()
Frame.Add(toolbar, 0, border=5)

app = wx.PySimpleApp()
frame = MainWindow(None, -1, " dipole antenna ")
frame.show(1)
frame.SetBackgroundColour('light grey')
app.MainLoop()
 
K

kyosohma

hi
please am learning wxpython and I Need help on getting examles of how
to create a toolbar with images
that is add a toolbar to a Frame using wxpython
using wxpython on a windows pc
how can i add a toolbar to a GUI
all sample codes i could find contain errors.
i did the following but it is wrong!
my biggest trouble seems to be with the IMAGES? do i have to create
them, load them...? or they come with python like in Matlab
thank you.

import wx

from pylab import*

class MainWindow(wx.Frame):
def __init__(self,parent,id,title):
self.dirname=''
wx.Frame.__init__(self,parent,wx.ID_ANY,
title,wx.DefaultPosition, wx.Size(320,410))

##############_______________________ADDING A
TOOLBAR___________________######################

toolbar = wx.ToolBar(self, -1, style=wx.TB_HORIZONTAL |
wx.NO_BORDER)
toolbar.AddSimpleTool(1, wx.Image('stock_new.png',
wx.BITMAP_TYPE_PNG).ConvertToBitmap(), 'New', '')
toolbar.Realize()
Frame.Add(toolbar, 0, border=5)

app = wx.PySimpleApp()
frame = MainWindow(None, -1, " dipole antenna ")
frame.show(1)
frame.SetBackgroundColour('light grey')
app.MainLoop()

The internal pictures that I've found so far for wxPython are listed
here: http://www.wxpython.org/docs/api/wx.ArtProvider-class.html

If you need to create your own icons / bitmaps, I use the img2py
utility included with wxPython. It's usage is below:

<code>
# on the command line in windows
# You have to pass a filename in for img2py to sends its output to
c:\Python24\Lib\site-packages\wx-2.8-msw-ansi\wx\tools>python
img2py.py -i iconFileName iconPyFile.py
</code>

Also see: http://www.wxpython.org/docs/api/wx.tools.img2py-module.html

Then I just created a function to create my toolbar:

<code>
def createToolbar(self):
toolbar = self.CreateToolBar()
toolbar.SetToolBitmapSize((31,31))
bmp = mail_ico.getBitmap()
sendTool = toolbar.AddSimpleTool(-1, bmp, 'Send', 'Sends
Email')
self.Bind(wx.EVT_MENU, self.OnSend, sendTool)
toolbar.Realize()
</code>

One caveat: I don't know how to force an image to scale to the size of
the toolbar button. You'll have to figure that out on your own.

You can also post to the wxPython list, which might give you more
coherent answers: http://www.wxpython.org/maillist.php

Mike
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,982
Messages
2,570,189
Members
46,734
Latest member
manin

Latest Threads

Top