Tkinker Python Tutorial

from Tkinter  import *
import Pmw
import sys
class MenuBarDemo( Frame ):
   def __init__( self ):
      Frame.__init__( self )
      Pmw.initialise()
      self.pack( expand = YES, fill = BOTH )
      self.master.title( "MenuBar Demo" )
      self.master.geometry( "500x200" )
      self.myBalloon = Pmw.Balloon( self )
      self.choices = Pmw.MenuBar( self, balloon = self.myBalloon )
      self.choices.pack( fill = X )
      self.choices.addmenu( "File", "Exit" )
      self.choices.addmenuitem( "File", "command", command = self.closeDemo, label = "Exit" )
      self.choices.addmenu( "Format", "Change font/color" ) 
      self.choices.addcascademenu( "Format", "Color" )
      self.choices.addmenuitem( "Format", "separator" )
      self.choices.addcascademenu( "Format", "Font" )
      colors = [ "Black", "Blue", "Red", "Green" ]
      self.selectedColor = StringVar()
      self.selectedColor.set( colors[ 0 ] )
      for item in colors:      
         self.choices.addmenuitem( "Color", "radiobutton", 
            label = item, command = self.changeColor,
            variable = self.selectedColor )
      fonts = [ "Times", "Courier", "Helvetica" ]
      self.selectedFont = StringVar()
      self.selectedFont.set( fonts [ 0 ] )
      
      for item in fonts:
         self.choices.addmenuitem( "Font", "radiobutton",
            label = item, command = self.changeFont,
            variable = self.selectedFont )
      self.choices.addmenuitem( "Font", "separator" )
      self.boldOn = BooleanVar()
      self.choices.addmenuitem( "Font", "checkbutton",label = "Bold", command = self.changeFont,variable = self.boldOn )
      self.italicOn = BooleanVar()
      self.choices.addmenuitem( "Font", "checkbutton",
         label = "Italic", command = self.changeFont,
         variable = self.italicOn )      
      self.display = Canvas( self, bg = "white" )
      self.display.pack( expand = YES, fill = BOTH )
      self.sampleText = self.display.create_text( 250, 100,text = "Sample Text", font = "Times 48" )
   def changeColor( self ):
      self.display.itemconfig( self.sampleText,fill = self.selectedColor.get() )
   def changeFont( self ):
      newFont = self.selectedFont.get() + " 48"
      if self.boldOn.get():
         newFont += " bold"
      if self.italicOn.get():
         newFont += " italic"
      self.display.itemconfig( self.sampleText, font = newFont )
   def closeDemo( self ):
      sys.exit()
      
MenuBarDemo().mainloop()