On Mon, Apr 17, 2017 at 6:13 PM, Phil <phil_...@bigpond.com> wrote: > Thank you for reading this. > > How do I reference the_canvas from my solve() method? Despite hours of > searching I haven't been able to solve this or find a similar example. All > that I've gained is a headache. > > Exception in Tkinter callback > Traceback (most recent call last): > File "/usr/lib/python3.4/tkinter/__init__.py", line 1536, in __call__ > return self.func(*args) > File "/home/pi/sudoku.py", line 64, in solve > self.the_canvas.create_text(20,20,text="5") > AttributeError: 'Sudoku' object has no attribute 'the_canvas' > > from tkinter import * > > class Sudoku(Frame): > def __init__(self, parent): > Frame.__init__(self, parent) > self.parent = parent > > parent.title("Sudoku solver") > > #create canvas > the_canvas = Canvas(width = 300, height = 300) > the_canvas.pack(side = TOP, anchor = NW, padx = 10, pady = 10) > > #create grid > > #create solve button > solve_button = Button(the_canvas, text = "Solve", command = > self.solve, > anchor = W) > solve_button.configure(width = 5, activebackground = "#33B5E5", > relief = FLAT) > solve_button.pack(side = TOP) > solve_button_window = the_canvas.create_window(250, 250, anchor=NW, > window=solve_button) > > def solve(self): > print("solve called") > self.the_canvas.create_text(20,20,text="5") > > > def main(): > root = Tk() > app = Sudoku(root) > app.mainloop() > > if __name__ == '__main__': > main() > > > -- > Regards, > Phil > _______________________________________________ > Tutor maillist - Tutor@python.org > To unsubscribe or change subscription options: > https://mail.python.org/mailman/listinfo/tutor
-- boB _______________________________________________ Tutor maillist - Tutor@python.org To unsubscribe or change subscription options: https://mail.python.org/mailman/listinfo/tutor