Trying to build a GUI in Python at the moment, and I'm stuck at this part in particular. Every time I try to run my code it just throws the error TypeError: __init__() got multiple values for argument 'master'
. I can't seem to find where I'm passing it more than one value, and it's got me scratching my head. I tried searching the error but the fixes other people had listed I can't see how to make them work with this one. Any guidance would be much appreciated. See code sample below:
class Plotter(tk.Canvas):"""Creates a canvas for use in a GUIPlotter() -> Canvas"""def __init__(self, master, **kwargs):super().__init__(self, master = master, **kwargs)self.bind("<Configure>", self.on_resize)self.height = self.winfo_reqheight()self.width = self.winfo_reqwidth()self.bg = 'white'self.relief = 'raised'class AnimalDataPlotApp(object):"""This is the top level class for the GUI, and is hence responsible forcreating and maintaining instances of the above glasses"""def __init__(self, master):"""Initialises the window and creates the base window for the GUI.__init__() -> None"""master.title('Animal Data Plot App')self._master = masterself._text = tk.Text(master)self._text.packmenubar = tk.Menu(master)master.config(menu = menubar)filemenu = tk.Menu(menubar) #puts filemenu into the menubarmenubar.add_cascade(label = 'File', menu = filemenu)filemenu.add_command(label = 'Open', command = self.open_file)#frame for canvasplotter_frame = tk.Frame(master, bg = 'red')plotter_frame.pack(side = tk.RIGHT, anchor = tk.NW, fill = tk.BOTH, expand = True)#frame for buttonsbutton_frame = tk.Frame(master, bg = 'yellow')button_frame.pack(side=tk.TOP, anchor=tk.NW, ipadx=50, fill = tk.X)#Label on the top leftleft_label = tk.Label(button_frame, text='Animal Data Sets', bg='orange')left_label.pack(side=tk.TOP, anchor=tk.N, fill=tk.X)#second frame, for selection listselection_frame = tk.Frame(master, bg = 'blue')selection_frame.pack(side = tk.LEFT, anchor=tk.NW, fill = tk.BOTH, expand = True)#draw buttons in frameselect = tk.Button(button_frame, text ='Select')select.pack(side=tk.TOP, anchor=tk.N)deselect = tk.Button(button_frame, text='Deselect')deselect.pack(side=tk.TOP, anchor=tk.N)self.selectionbox = SelectionBox(selection_frame)self.selectionbox.pack(side = tk.TOP, expand = True, fill=tk.BOTH)#self._selectionbox.show_animals(self._data)self.plotter = Plotter(plotter_frame)self.plotter.pack(side = tk.TOP, expand = True, fill=tk.BOTH)