I get the error “NameError: global name ‘entryWidget’ is not defined” in the following piece of Python 3 tkinter code:
from tkinter import *
import tkinter
def displayText():
tkinter.messagebox.showinfo("Tkinter Entry Widget", "Text value =" + entryWidget)
class Application(Frame):
def createWidgets(self):
root.title("TITLE")
textFrame = Frame(root)
entryLabel = Label(textFrame)
entryLabel["text"] = "Enter the text:"
entryLabel.pack(side=LEFT)
entryWidget = Entry(textFrame)
entryWidget["width"] = 50
entryWidget.pack(side=LEFT)
textFrame.pack()
button = Button(root, text="Submit", command=displayText)
button.pack()
self.QUIT = Button(self)
self.QUIT["text"] = "QUIT"
self.QUIT["fg"] = "red"
self.QUIT["command"] = self.quit
self.QUIT.pack()
def __init__(self, master=None):
Frame.__init__(self, master)
self.pack()
self.createWidgets()
root = Tk()
app = Application(master=root)
app.mainloop()
root.destroy()
The code itself is designed to create a text box (with text next to it), an enter button for the text box and a quit button. When text is entered in the text box and enter is pressed then a message box should appear telling the user what they entered. The quit button just quits the script.
How can I fix the error I am getting (I am aware what the error means, just don’t know how to fix it in this scenario). Note that I am new to tkinter and GUI code.
What about something like that:
I don’t have tkinter here so I can’t check it. But I hope it will help.