#!/usr/bin/env python # example pixmap.py import gtk # XPM data of Open-File icon xpm_data = [ "16 16 3 1", " c None", ". c #000000000000", "X c #FFFFFFFFFFFF", " ", " ...... ", " .XXX.X. ", " .XXX.XX. ", " .XXX.XXX. ", " .XXX..... ", " .XXXXXXX. ", " .XXXXXXX. ", " .XXXXXXX. ", " .XXXXXXX. ", " .XXXXXXX. ", " .XXXXXXX. ", " .XXXXXXX. ", " ......... ", " ", " " ] class PixmapExample: # when invoked (via signal delete_event), terminates the application. def close_application(self, widget, event, data=None): gtk.mainquit() return gtk.FALSE # is invoked when the button is clicked. It just prints a message. def button_clicked(self, widget, data=None): print "button clicked" def __init__(self): # create the main window, and attach delete_event signal to terminating # the application window = gtk.GtkWindow(gtk.WINDOW_TOPLEVEL) window.connect("delete_event", self.close_application) window.set_border_width(10) window.show() # now for the pixmap from gdk style = window.get_style() pixmap, mask = gtk.create_pixmap_from_xpm_d(window.get_window(), style.bg[gtk.STATE_NORMAL], xpm_data ) # a pixmap widget to contain the pixmap pixmapwid = gtk.GtkPixmap(pixmap, mask) pixmapwid.show() # a button to contain the pixmap widget button = gtk.GtkButton() button.add(pixmapwid) window.add(button) button.show() button.connect("clicked", self.button_clicked) def main(): gtk.mainloop() return 0 if __name__ == "__main__": PixmapExample() main()