Tkinter 3
Tkinter 3
ES1101
GUI Design- UNIT 5
Methods:
• get(): This method is used to returns the two numbers a and b which represents the current
position of the scrollbar.
• set(first, last): This method is used to connect the scrollbar to the other widget w. The
yscrollcommand or xscrollcommand of the other widget to this method.
from tkinter import *
win = Tk()
scrollbar = Scrollbar(win)
scrollbar.pack( side = RIGHT, fill = Y )
mylist = Listbox(win, yscrollcommand = scrollbar.set )
for line in range(1,100):
mylist.insert(END, "This is line number " + str(line))
mylist.pack( side = LEFT, fill = BOTH )
scrollbar.config( command = mylist.yview )
win.mainloop()
(14) Menu bar, menu button, option menu, separator
The goal of this widget is to allow us to create all kinds of menus that can be used
by our applications. The core functionality provides ways to create three menu
types: pop-up, toplevel and pull-down.
Syntax
w = Menu ( master, option, ... )
Options and Description
• activebackground :The background color that will appear on a choice when it is under the mouse.
• activeborderwidth: Specifies the width of a border drawn around a choice when it is under the mouse. Default
is 1 pixel.
• activeforeground: The foreground color that will appear on a choice when it is under the mouse.
• bg: The background color for choices not under the mouse.
• bd: The width of the border around all the choices. Default is 1.
• cursor: The cursor that appears when the mouse is over the choices, but only when the menu has been torn
off.
• disabledforeground : The color of the text for items whose state is DISABLED.
• font: The default font for textual choices.
• postcommand: You can set this option to a procedure, and that procedure will be called every time someone
brings up this menu.
• relief: The default 3-D effect for menus is relief=RAISED.
• image: To display an image on this menubutton.
• selectcolor: Specifies the color displayed in checkbuttons and radiobuttons when they are selected.
• tearoff: Normally, a menu can be torn off, the first position (position 0) in the list of choices is occupied by the
tear-off element, and the additional choices are added starting at position 1. If you set tearoff=0, the menu
will not have a tear-off feature, and choices will be added starting at position 0.
• title: Normally, the title of a tear-off menu window will be the same as the text of the menu button or cascade
that lead to this menu. If you want to change the title of that window, set the title option to that string.
Methods:
• add_command (options): Adds a menu item to the menu.
• add_radiobutton( options ): Creates a radio button menu item.
• add_checkbutton( options ): Creates a check button menu item.
• add_cascade(options) Creates a new hierarchical menu by associating a given menu to a parent menu
• add_separator() Adds a separator line to the menu.
• add( type, options ) Adds a specific type of menu item to the menu.
• delete( startindex [, endindex ]) Deletes the menu items ranging from startindex to endindex.
• entryconfig( index, options ) Allows you to modify a menu item, which is identified by the index, and change its
options.
• index(item) Returns the index number of the given menu item label.
• insert_separator ( index ) Insert a new separator at the position specified by index.
• invoke ( index ) Calls the command callback associated with the choice at position index. If a checkbutton, its state
is toggled between set and cleared; if a radiobutton, that choice is set.
• type ( index ) Returns the type of the choice specified by index: either "cascade", "checkbutton", "command",
"radiobutton", "separator", or "tearoff".
#Program to create menu bar with menu buttons, editmenu.add_separator()
option menus, and seperator editmenu.add_command(label="Cut", command=donothing)
editmenu.add_command(label="Copy", command=donothing)
from tkinter import *
editmenu.add_command(label="Paste", command=donothing)
root = Tk()
editmenu.add_command(label="Delete", command=donothing)
def donothing():
editmenu.add_command(label="Select All", command=donothing)
filewin = Toplevel(root)
menubar.add_cascade(label="Edit", menu=editmenu)
button = Button(filewin, text="Do nothing button")
button.pack() helpmenu = Menu(menubar, tearoff=0)