Я пытаюсь напечатать прямоугольник в классе mainWindow с помощью функции OnButtonAddClick на моем холсте, но когда я пытаюсь это сделать, я получаю сообщение об ошибке: AttributeError: объект 'NoneType' не имеет атрибута 'create_rectangle'
Речь идет о функции OnButtonAddClick, но я не вижу, что не так. Я попробовал несколько вещей сейчас, и я надеюсь, что вы можете помочь мне с этим.
import tkinter as tk
import Calc as c
class mainWindow(tk.Frame):
def __init__(self, master):
tk.Frame.__init__(self, master)
self.master = master
self.Canvas()
#more stuff
def button(self):
self.buttonAdd = tk.Button(self, text='Add', width=12, command=self.OnButtonAddClick).grid(column=2, row=10)
##more stuff
def Canvas(self):
"Projecting elements on canvas"
self.canvas = tk.Canvas(self, width=500, height=500, borderwidth=20, bg='white').grid(column=5, row=2, rowspan=30)
def OnButtonAddClick(self):
self.canvas.create_rectangle(200,200,200,200)
print('hi')
if __name__ == '__main__':
root = tk.Tk()
mainWindow(root).pack(side='top', fill='both')
root.mainloop()