微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Tkinter矩形连接到按键

如何解决Tkinter矩形连接到按键

以下程序在画布中心绘制一个矩形。按下右箭头键时矩形应该变宽,而按下左箭头键时矩形会变窄。

这是代码

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 举报,一经查实,本站将立刻删除。