from tkinter import *
class Canvas:
def __init__(self):
window = Tk()
window.title("Canvas Demo")
# Place a canvas in the window
self.canvas = Canvas(window, width=200, height=100, bg="white)
self.canvas.pack()
# place button in frame
frame = Frame(window)
frame.pack()
btRectangle = Button(frame, text="Rectangle", command=self.displayRect)
btOval = Button(frame, text="Oval", command=self.displayOval)
btArc = Button(frame, text="Arc", command=self.displayArc)
btPolygon = Button(frame, text="Polygon", command=self.displayPolygon)
btLine = Button(frame, text="Line", command=self.displayLine)
btString = Button(frame, text="String", command=self.displayString)
btClear = Button(frame, text="Clear", command=self.displayClear)
btRectangle.grid(row=1, column=1)
btOval.grid(row=1, column=2)
btArc.grid(row=1, column=3)
btPolygon.grid(row=1, column=4)
btLine.grid(row=1, column=5)
btString.grid(row=1, column=6)
btClear.grid(row=1, column=7)
window.mainloop()
def displayRect(self):
self.canvas.create_rectangle(10, 10, 190, 90, tags="rect")
def displayOval(self):
self.canvas.create_oval(10, 10, 190, 90, fill="red", tags="oval")
def displayArc(self):
self.canvas.create_arc(10, 10, 190, 90, start=0, extent=90, width=8, fill="red", tags="arc")
def displayPolygon(self):
self.canvas.create_polygon(10, 10, 190, 90, 30, 50, tags="rect")
def displayLine(self):
self.canvas.create_line(10, 10, 190, 90, fill="red", tags="line")
self.canvas.create_line(10, 10, 190, 10, width=9, arrow="last", fill="blue", tags="line")
def displayString(self):
self.canvas.create_text(60, 40, text="HI, I am String", font="Times 10 bold under line", tags="string")
def displayClear(self):
self.canvas.delete("rect", "oval", "arc", "polygon", "line", "string")
Canvas()
При запуске программы отображается следующее сообщение об ошибке. В чем причина этого?ТипError: __init __() получил неожиданное ключевое слово аргумент 'width'
self.canvas = Canvas(window, width=200, height=100)
TypeError: __init__() got an unexpected keyword argument 'width'
Вы определили свой собственный класс 'Canvas' и не обрабатываете аргумент ключевого слова' width'. – TigerhawkT3
'bg =" white' нуждается в закрытой цитате. Как эта цитата исчезла в копии и вставке, если она есть в вашем исходном коде? – MYGz
@MYGz Я сделал исправление, но теперь ошибка TypeError: __init __() получил неожиданное ключевое слово Аргумент 'bg' – npkp