Hello all,
Recently, I have started my own project with PyGTK creating a
Prism-like application using Webkit instead of Mozilla's engine. So
far so good, but what I'd like to do is create a drop down menu
without using gtk.MenuToolButton. You may be asking why, and the
answer is because I have found its hard to size icons as small as I
need them without using gtk.Image's set_pixel_size property which, as
far as I know, isn't available for gtk.ToolButton (though I could be
looking in the wrong places). So, I created several buttons in place
of the toolbar with their icons being size that is as small as I want
them (16px), but the only way I've seen to create one of these drop
down menus is with MenuToolButton. IS there any other way to do this,
or perhaps a way to use the toolbar while keeping the size of my icons
how they are?
The code I am working with is put below, but because I know gmail is
probably going to mess with it, I'm also attaching it. Specifically, I
am looking at giving switchButton a drop down menu.
Smartboy
#####CODE STARTS HERE#####
backButton = gtk.Button()
backButton.set_relief(gtk.RELIEF_NONE)
backImage = gtk.Image()
backImage.set_from_stock(gtk.STOCK_GO_BACK, gtk.ICON_SIZE_MENU)
backImage.set_pixel_size(16)
backButton.add(backImage)
backButton.connect('clicked', self.back)
forwardButton = gtk.Button()
forwardButton.set_relief(gtk.RELIEF_NONE)
forwardImage = gtk.Image()
forwardImage.set_from_stock(gtk.STOCK_GO_FORWARD, gtk.ICON_SIZE_MENU)
forwardImage.set_pixel_size(16)
forwardButton.add(forwardImage)
forwardButton.connect('clicked', self.forward)
self.reloadButton = gtk.Button()
self.reloadButton.set_relief(gtk.RELIEF_NONE)
reloadImage = gtk.Image()
reloadImage.set_from_stock(gtk.STOCK_REFRESH, gtk.ICON_SIZE_MENU)
reloadImage.set_pixel_size(16)
self.reloadButton.add(reloadImage)
self.reloadButton.connect('clicked', self.refresh)
self.stopButton = gtk.Button()
self.stopButton.set_relief(gtk.RELIEF_NONE)
stopImage = gtk.Image()
stopImage.set_from_stock(gtk.STOCK_STOP, gtk.ICON_SIZE_MENU)
stopImage.set_pixel_size(16)
self.stopButton.add(stopImage)
self.stopButton.connect('clicked', self.stop)
self.stopButton.hide()
homeButton = gtk.Button()
homeButton.set_relief(gtk.RELIEF_NONE)
homeImage = gtk.Image()
homeImage.set_from_stock(gtk.STOCK_HOME, gtk.ICON_SIZE_MENU)
homeImage.set_pixel_size(16)
homeButton.add(homeImage)
homeButton.connect('clicked', self.home)
switchButton = gtk.Button()
switchButton.set_relief(gtk.RELIEF_NONE)
switchImage = gtk.Image()
switchImage.set_from_stock(gtk.STOCK_INDEX, gtk.ICON_SIZE_MENU)
switchImage.set_pixel_size(16)
switchButton.add(switchImage)
switchButton.connect('clicked', self.switch)
backButton = gtk.Button()
backButton.set_relief(gtk.RELIEF_NONE)
backImage = gtk.Image()
backImage.set_from_stock(gtk.STOCK_GO_BACK, gtk.ICON_SIZE_MENU)
backImage.set_pixel_size(16)
backButton.add(backImage)
backButton.connect('clicked', self.back)
forwardButton = gtk.Button()
forwardButton.set_relief(gtk.RELIEF_NONE)
forwardImage = gtk.Image()
forwardImage.set_from_stock(gtk.STOCK_GO_FORWARD, gtk.ICON_SIZE_MENU)
forwardImage.set_pixel_size(16)
forwardButton.add(forwardImage)
forwardButton.connect('clicked', self.forward)
self.reloadButton = gtk.Button()
self.reloadButton.set_relief(gtk.RELIEF_NONE)
reloadImage = gtk.Image()
reloadImage.set_from_stock(gtk.STOCK_REFRESH, gtk.ICON_SIZE_MENU)
reloadImage.set_pixel_size(16)
self.reloadButton.add(reloadImage)
self.reloadButton.connect('clicked', self.refresh)
self.stopButton = gtk.Button()
self.stopButton.set_relief(gtk.RELIEF_NONE)
stopImage = gtk.Image()
stopImage.set_from_stock(gtk.STOCK_STOP, gtk.ICON_SIZE_MENU)
stopImage.set_pixel_size(16)
self.stopButton.add(stopImage)
self.stopButton.connect('clicked', self.stop)
self.stopButton.hide()
homeButton = gtk.Button()
homeButton.set_relief(gtk.RELIEF_NONE)
homeImage = gtk.Image()
homeImage.set_from_stock(gtk.STOCK_HOME, gtk.ICON_SIZE_MENU)
homeImage.set_pixel_size(16)
homeButton.add(homeImage)
homeButton.connect('clicked', self.home)
switchButton = gtk.Button()
switchButton.set_relief(gtk.RELIEF_NONE)
switchImage = gtk.Image()
switchImage.set_from_stock(gtk.STOCK_INDEX, gtk.ICON_SIZE_MENU)
switchImage.set_pixel_size(16)
switchButton.add(switchImage)
switchButton.connect('clicked', self.switch)
_______________________________________________
pygtk mailing list [email protected]
http://www.daa.com.au/mailman/listinfo/pygtk
Read the PyGTK FAQ: http://faq.pygtk.org/