import random
from tkinter import *
from tkinter import messagebox
class Application(Frame):
'''一个经典的GUI程序的类的写法'''
def __init__(self,master=None):
super().__init__(master) #super代表是父类的定义,而不是父类对象
self.master=master
self.pack() #通过布局管理器显示
self.createWideget()
def createWideget(self):
self.canvas=Canvas(self,width=300,height=200,bg="green")
self.canvas.pack()
#画一条直线
line=self.canvas.create_line(10,10,30,20,50,60)
#画一个矩形
rect=self.canvas.create_rectangle(50,50,150,150)
#画一个圆
oval=self.canvas.create_oval(50,50,100,100)
Button(self,text="画十个矩形",command=self.draw50Recg).pack(side="left")
def draw50Recg(self):
for i in range(0,10):
x1=random.randrange(int(self.canvas["width"]/2))
y1=random.randrange(int(self.canvas["heigth"]/2))
x2=x1+random.randrange(int(self.canvas["width"]/2))
y2=y1+random.randrange(int(self.canvas["height"]/2))
self.canvas.create_rectangle(x1,y1,x2,y2)
if __name__=='__main__':
root = Tk()
root.geometry("400x300+200+300")
root.title("测试canvas组件")
app=Application(master=root)
root.mainloop()
老师,这个错误错在哪里,“画十个矩形程序运行不了”