问题描述
以下程序在画布中心绘制一个矩形。按下右箭头键时矩形应该变宽,而按下左箭头键时矩形会变窄。
这是代码:
from tkinter import *
root = Tk()
canvas = Canvas(root,width=400,height=300,bg="#000000")
canvas.pack()
x1 = 150
y1 = 100
x2 = 250
y2 = 200
class ResizeRect:
def __init__(self,x1,y1,x2,y2):
self.x1 = x1
self.y1 = y1
self.x2 = x2
self.y2 = y2
self.rect = canvas.create_rectangle(0,1,1)
def draw(self):
canvas.delete(self.rect)
self.rect = canvas.create_rectangle(x1,y2,outline="#00B000",width=2)
def narrower(self):
self.x1 = self.x1 + 5
self.x2 = self.x2 - 5
def wider(self):
self.x1 = self.x1 - 5
self.x2 = self.x2 + 5
r = ResizeRect(150,100,250,200)
r.draw()
def left(event):
r.narrower()
r.draw()
def right(event):
r.wider()
r.draw()
canvas.bind_all('<KeyPress-Left>',left)
canvas.bind_all('<KeyPress-Right>',right)
我的老师告诉我,我需要在draw函数的参数中添加'self'关键字,但我不知道他的意思。 (我不能再问他,因为他现在心情不好。)非常感谢您的帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)