On 8/5/2014 8:15 AM, Nicholas Cannon wrote:
Ok so the first part of the program(until the start of the menu) worked fine. 
It ran  and did what I wanted it to do.

What x.y.z version of Python. How did you run it, exactly?

I wanted to then implement a new menu(for practise) and then it crashes. Don't 
know why but it just crashes.

If you ran from Idle editor on Windows, start Idle with 'python -m idlelib' in Command Prompt to see tk error messages.

However, when I pasted code into 3.4.1 Idle Editor, changed first two lines to

from tkinter import *
from tkinter import messagebox as tm

and ran -- no crash, no error message, no menu. I entered text into box, clicked Submit text, and OK on popup, and nothing happens.
See below for why no menu.

When you ask about a problem, please reduce code to the minimum that exhibits the problem for you.

(also tips on the code will be appreciated and I gave just started Tkinter 
programming)

A different issue.

Here is the code:


from Tkinter import *
import tkMessageBox as tm

def submit():
     #message box with yes no
     tm.askyesno(title='Submit Text', message='Are you sure....')

def info():
     tm.showinfo(title='About', message='Just a test Tkinter UI sample')

     #getting the text from the entrybox and
     #packs it into a label
     mtext = text.get()
     label1 = Label(app, text=mtext)
     label1.pack()

#root window setup
root = Tk()
root.geometry('480x480+200+200')
root.title('Basic Tk UI')

#frame set up
app = Frame(root)
app.pack()

#variable and entry box set up
text = StringVar()
entry = Entry(app, textvariable=text)
entry.pack()

#button set up
button1 = Button(app, text='Submit text', command= submit)
button1.pack()

#menu construction
menubar = Menu(root)

filemenu = Menu(menubar)
filemenu.add_command(label='About', command= info)
filemenu.add_command(label='Quit', command= root.destroy)
filemenu.add_cascade(label='TK UI Sample', menu=filemenu)

Adding filemenu as a submenu of filemenu leads to infinite loop regress. On 3.4.1 with tcl/tk 8.6, this does not crash, but it might on an earlier version of Python and tcl/tk.

Since menubar is left empty, it is not displayed.  Fix both problems with

menubar.add_cascade(label='TK UI Sample', menu=filemenu)



root.config(menu=menubar)



#loop to listen for events
root.mainloop()



--
Terry Jan Reedy

--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to