Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Jul 17th, 2012  |  syntax: None  |  size: 0.79 KB  |  hits: 10  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. Dynamically modifying/refreshing menu contents in PyGTK
  2. self.filemenu = gtk.Menu()
  3.  
  4. self.init_file_menu()
  5.  
  6. self.fileitem = gtk.MenuItem("File")
  7. self.fileitem.set_submenu(self.filemenu)
  8. menubar = gtk.MenuBar()
  9. menubar.append(self.fileitem)
  10. outerframe.pack_start(menubar, False, False)
  11.  
  12. def init_file_menu(self):
  13.     for widget in self.filemenu.get_children():
  14.         self.filemenu.remove(widget)
  15.  
  16.     openitem = gtk.MenuItem("Open")
  17.     self.filemenu.append(openitem)
  18.     openitem.connect("activate", self.open_file)
  19.  
  20.     self.filemenu.append(gtk.SeparatorMenuItem())
  21.  
  22.     for recentitem in self.settings['recentfiles']:
  23.         item = gtk.MenuItem(os.path.basename(recentitem))
  24.         self.filemenu.append(item)
  25.         item.connect("activate", self.open_file, recentitem)
  26.     self.filemenu.show()