Mega Code Archive

 
Categories / Python Tutorial / Tkinker
 

MenuBars with Chioces

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()