Я пытаюсь создать простую программу рисования с кнопкой, которая очищает холст, удаляя все фигуры на нем, однако я пытаюсь использовать команду delete(), которая встроена в tkinter, но когда я пытаюсь запустить его, он говорит, что удаление не определено. «Что я делаю неправильно?Tkinter name "delete" not defined
from Tkinter import *
import Tkinter
root = Tk()
class PaintBox(Frame):
def __init__(self):
Frame.__init__(self)
self.pack(expand = YES, fill = BOTH)
self.master.title("Color Draw v0.2.63.23 open closed beta (Still in Alpha) greenlight edition")
self.master.geometry("600x600")
self.message = Label(self, text = "Drag the mouse SLOWLY to draw")
self.message.pack(side = TOP)
self.myCanvas = Canvas(self)
self.myCanvas.pack(expand = YES, fill = BOTH)
self.bd = (2)
self.myCanvas.bind("<B1-Motion>", self.paint)
def paint(self, event):
x1, y1 = (event.x - 4), (event.y - 4)
x2, y2 = (event.x + 4), (event.y + 4)
self.myCanvas.create_rectangle(x1, y1, x2, y2, fill = "black", tags="box")
button = Button(root, text = "Clear", command = delete(box))
button.grid(row = 1, column = 0)
PaintBox().mainloop()
Вот полный отслеживающий @mgilson:
ERROR: execution aborted
In [2]: %run C:/Users/en58522/Downloads/paintcolor.txt---------------------------------------------------------------------------
NameError Traceback (most recent call last)
C:\Program Files\Enthought\Canopy\App\appdata\canopy-1.4.1.1975.win-x86_64\lib\site-packages\IPython\utils\py3compat.pyc in execfile(fname, glob, loc)
195 else:
196 filename = fname
--> 197 exec compile(scripttext, filename, 'exec') in glob, loc
198 else:
199 def execfile(fname, *where):
C:\Users\en58522\Downloads\paintcolor.txt in <module>()
3 root = Tk()
4
----> 5 class PaintBox(Frame):
6 def __init__(self):
7 Frame.__init__(self)
C:\Users\en58522\Downloads\paintcolor.txt in PaintBox()
24 self.myCanvas.create_rectangle(x1, y1, x2, y2, fill = "black", tags="box")
25
---> 26 button = Button(root, text = "Clear", command = delete(box))
27 button.grid(row = 1, column = 0)
28
NameError: name 'delete' is not defined
Выложите полный текст отзыва? Это часто помогает отслеживать эти вещи. , , – mgilson
'button = Button (root, text =" Clear ", command = delete (box))' - Я предполагаю, что функция 'delete' будет' '' '' 'в' tkinter', но это не так. Что вы ожидаете от 'delete'? – mgilson
@mgilson delete - это предопределенная функция в виджете Canvas. –