Вот код:
import gtk import class PyApp(gtk.Window): def __init__(self): super(PyApp, self).__init__() self.set_title("example") self.set_size_request(800, 600) self.modify_bg(gtk.STATE_NORMAL, gtk.gdk.Color(35000, 35000, 35000)) self.set_position(gtk.WIN_POS_ # --- Main menu --- mb = gtk.MenuBar() filemenu = gtk.Menu() filem = gtk.MenuItem("_File") filem.set_submenu(filemenu) agr = gtk.AccelGroup() self.add_accel_group(agr) newi = gtk.ImageMenuItem(gtk.STOCK_NEW, agr) key, mod = gtk.accelerator_parse("<Control>N") newi.add_accelerator("activate", agr, key, mod, gtk.ACCEL_VISIBLE) filemenu.append(newi) openm = gtk.ImageMenuItem(gtk.STOCK_OPEN, agr) key, mod = gtk.accelerator_parse("<Control>O") openm.add_accelerator("activate", agr, key, mod, gtk.ACCEL_VISIBLE) filemenu.append(openm) sep = gtk.SeparatorMenuItem() filemenu.append(sep) exit = gtk.ImageMenuItem(gtk.STOCK_QUIT, agr) key, mod = gtk.accelerator_parse("<Control>Q") exit.add_accelerator("activate", agr, key, mod, gtk.ACCEL_VISIBLE) exit.connect("activate", gtk.main_quit) filemenu.append(exit) mb.append(filem) # --- Scrolled window --- scrolled_window = gtk.ScrolledWindow() scrolled_window.set_policy(gtk.POLICY_ALWAYS, gtk.POLICY_ALWAYS) # --- Drawing area --- darea = gtk.DrawingArea() darea.connect("expose-event", self.expose) scrolled_window.add_with_viewport(darea) # --- Status bar status_bar = gtk.Statusbar() status_bar.push(0, "example") vbox = gtk.VBox(False, 0) vbox.pack_start(mb, False, False, 0) vbox.pack_start(scrolled_window, True, True, 0) vbox.pack_start(status_bar, False, False, 0) self.add(vbox) self.connect("destroy", gtk.main_quit) self.show_all() def expose(self, widget, event): cr = widget.window.cairo_create() cr.set_source_rgb(0.6, 0.6, 0.6) cr.rectangle(20, 20, 120, 80) cr.rectangle(180, 20, 80, 80) cr.fill() cr.arc(330, 60, 40, 0, 2*math.pi) cr.fill() cr.arc(90, 160, 40, math.pi/4, math.pi) cr.fill() cr.translate(220, 180) cr.scale(1, 0.7) cr.arc(0, 0, 50, 0, 2*math.pi) cr.fill() def main(): gtk.main() return 0 if __name__ == "__main__": PyApp() main()