I am trying to create a programme which gathers experimental data. I have succesfully created a table containing label and entry widgets. However when trying to make the entry widgets functional by gathering entered data, my script fails.
import tkinter as tk
from PIL import ImageTk, Image
class Window(tk.Frame):
def __init__(self, master=None):
tk.Frame.__init__(self, master)
self.master = master
self.init_window()
def init_window(self):
self.master.title("Data Analyser")
tk.Label(self.master, text="Cell Number").grid(row=1, sticky=tk.W)
tk.Label(self.master, text="1").grid(row=2)
tk.Label(self.master, text="1").grid(row=2)
tk.Label(self.master, text="Treatment").grid(row=1, column=2)
Treatment_1 = tk.Entry(self.master).grid(row=2,column=2)
Treatment_2 = tk.Entry(self.master).grid(row=3,column=2)
tk.Button(self.master, text = "Submit", command = self.getInput).grid(row = 14, column = 2)
def getInput(self):
global Treatment_Data
a = Treatment_1.get()
b = Treatment_2.get()
Treatment_Data = [a,b]
root = tk.Tk()
root.geometry("500x450")
app = Window(root)
root.mainloop()
I was hoping the above code would generate a global variable called 'Treatment_Data', but unfortinately I receive the following error message when I click the 'Submit' widget:
Traceback (most recent call last):
File "C:\Users\xxxx\lib\tkinter\__init__.py", line 1550, in __call__
return self.func(*args)
File "<ipython-input-134-2b5d212a0dcf>", line 47, in getInput
a = self.Treatment_1.get()
AttributeError: 'NoneType' object has no attribute 'get'
Any clarification would be greatly appreciated.