我的问题: 创建固定数量的项目(圆圈)后 在Canvas上,为什么我不能继续,如下所示?
#***********************************************************
from Tkinter import *
#========================================================
class Joint():
def __init__(self,cv):
self.cv=cv
self.k=0
if self.k<=2:
self.doIt()
#-----------------------------------------
def doIt(self):
self.cv.bind('<1>', self.onClick)
#-----------------------------------------
def onClick(self,event):
x=event.x
y=event.y
R=5
#update counter:
self.k+=1
print "in k= ",self.k
coords=[x-R,y-R,x+R,y+R]
cv.create_oval(coords,fill="red")
#================ MAIN ===============================
root=Tk()
cv=Canvas(root,bg="yellow")
cv.pack()
joint=Joint(cv)
我的问题: 创建固定数量的项目(圆圈)后 在画布上,为什么我不能继续? (例如见下文)
print "here"
print "k= ",joint.k
root.mainloop()
答案 0 :(得分:0)
经过大量的重新格式化后,我想我已经找到了你想要的东西。该代码现在只允许您创建5个圆圈。你显然可以改变这个数字。
from Tkinter import *
class Joint():
def __init__(self,cv):
self.cv=cv
self.k=0
if self.k<=2:
self.doIt()
self.circleCounter = 0
#-----------------------------------------
def doIt(self):
self.cv.bind('<1>', self.onClick)
#-----------------------------------------
def onClick(self,event):
if self.k < 5:
x=event.x
y=event.y
R=5 #
self.k+=1
print "in k= ",self.k
coords=[x-R,y-R,x+R,y+R]
cv.create_oval(coords,fill="red")
else:
print "Too many circles created"
root=Tk()
cv=Canvas(root,bg="yellow")
cv.pack()
joint=Joint(cv)
""" my Question: After creating a FIXED number of items (circles) on Canvas, why can't I proceed? (e.g. see below) """
print "here"
print "k= ",joint.k
root.mainloop()
我不确定你的意思&#34;为什么我不能继续?&#34;。