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