<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<META NAME="Generator" CONTENT="MS Exchange Server version 6.0.4712.0">
<TITLE>TKinter question - A combo box / menu question</TITLE>
</HEAD>
<BODY>
<!-- Converted from text/rtf format -->
<BR>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">I am trying to build a very simple menu</FONT> <FONT SIZE=2 FACE="Tahoma">portion of a program. I have the main frame created and the menu box is a widget in that frame. The menu is a straight pull down menu. However,</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">in</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> the</FONT></SPAN><SPAN LANG="en-us"> <FONT SIZE=2 FACE="Tahoma">“</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">LOAD</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">”</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> part of the menu where I wo</FONT><FONT SIZE=2 FACE="Tahoma">uld like to create a pop-up combo box</FONT><FONT SIZE=2 FACE="Tahoma"> when load is selected from the menu. </FONT> <FONT SIZE=2 FACE="Tahoma">I have created both working widgets, but every time I execute the program, it pops up the Comb</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">o</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">DialogBox</FONT></SPAN><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">. I want this box to be a part of an event, not actually being</FONT> <FONT SIZE=2 FACE="Tahoma">built. Can anyone help with this?</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma">class TopMenuBar:</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> def __init__(self, parent):</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> menu_Bar = Frame(parent, relief=GROOVE, borderwidth =1)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> menu_Bar.pack(fill=X)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> FileBtn = self.player_Load_Menu(menu_Bar)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> ConfigureBtn = self.player_Configure</FONT><FONT SIZE=2 FACE="Tahoma">_Menu(menu_Bar)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> def player_Load_Menu(self, menu_Bar):</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> #Create the first top menu item</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn = Menubutton(menu_Bar, text='Character Selection', underline=0)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.pack(side=LEFT)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu = Menu(CmdBtn, tearoff=0)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> #Begin creating</FONT><FONT SIZE=2 FACE="Tahoma"> the items in the first top menu</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu.add_command(label="Load Form", command=self.open_file(menu_Bar))</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu.add_command(label="Save Form", command=self.save_file)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu.add_command(label="New Form", command=self.new_file)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> </FONT> <FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu.add('separator')</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu.add_command(label="Quit", command=self.quit_file)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn['menu'] = CmdBtn.menu</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> return(CmdBtn)</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> def player_Configure_Menu(self, menu_Bar):</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> #Create the second top menu item</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn = Menubutton(menu_Bar, text='Configure Form', underline=0)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.pack(side=LEFT)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu = Menu(CmdBtn, tearoff=0)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> #Begin creating the items in</FONT> <FONT SIZE=2 FACE="Tahoma">the second top menu</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu.add_command(label="Add level", command=self.add_level)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn.menu.add_command(label="Subtract level", command=self.subtract_level)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> CmdBtn['menu'] = CmdBtn.menu</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> return(CmdBtn)</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> def open_file(self, parent):</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> #Need the listofcharacters to be a tuple sequence.</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> from char_edit_combo_load import *</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> forms = []</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> listOfCharacters = tuple(getFiles(forms))</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> dialog = Pmw.ComboBoxDialog(parent, title = "Character Load",</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> but</FONT><FONT SIZE=2 FACE="Tahoma">tons = ('OK', 'Cancel'), defaultbutton = 'OK',</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> combobox_labelpos=N, label_text="Please select a character",</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> scrolledlist_items=listOfCharacters, listbox_width=22)</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> dialog.withdraw()</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> res</FONT><FONT SIZE=2 FACE="Tahoma">ult=dialog.activate()</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> # The function has now opened seen the selection, time to open the file.</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> if result == 'OK':</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> return(readObjectFromFile(dialog.get()))</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> else:</FONT></SPAN></P>
<P ALIGN=LEFT><SPAN LANG="en-us"><FONT SIZE=2 FACE="Tahoma"> return(None)</FONT></SPAN><SPAN LANG="en-us"></SPAN></P>
<BR>
</BODY>
</HTML>