-2

I've been trying to get a very simple text entry box and button going, but the following code creates an AttributeError when trying to get the value from self.entry, which is apparently a NoneType.

from tkinter import *


class Screen1(Frame):

    def __init__(self, master):
        super().__init__(master)
        self.grid()
        self.entry = Entry(self).grid(row=0, column=0)
        self.bttn = Button(self,
                           text="Enter",
                           command=self.get_entry
                           ).grid(row=0, column=1)

    def get_entry(self):
        message = self.entry.get()
        print(message)


root = Tk()
root.geometry("400x100")
Screen1(root)
root.mainloop()

How do I fix this? Thanks

1 Answers1

0

grid method returns None and you are setting that equal to self.entry
Change the following:

self.entry = Entry(self).grid(row=0, column=0)

# to

self.entry = Entry(self)
self.entry.grid(row=0, column=0)
ywbaek
  • 2,971
  • 3
  • 9
  • 28