我正在用{ython中的Tkinter构建一个康威的生活游戏图形。游戏逻辑和其他一切都很好,我只是停留在代码的最后一部分,即使在阅读了库之后也无法理解。在
self.after(1000,self.draw(bigThing))
以下是完整代码:
^{pr2}$我稍微改变了一下结构。好像我想在runit方法下画的东西都不管用。我不知道为什么会这样。“runit”中的所有其他函数都能正常工作。只是这个没用:
^{3}$这是我的按钮类:
##button.py
from Tkinter import *
class Buttons:
def __init__(self,canvas,bx,by,tx,ty, k, i,buttonlist):
self.buttonlist = buttonlist
self.canvas = canvas
self.rec = canvas.create_rectangle((bx,by,tx,ty),fill = "lightgray",
activefill= 'black', outline = 'lightgray')
self.canvas.tag_bind(self.rec, "<Button-1>", lambda event: self.callback())
self.active = False
self.k = k
self.i = i
self.xmin = bx
self.xmax = tx
self.ymin = by
self.ymax = ty
##print (bx, by, tx, ty)
def activate(self):
self.canvas.itemconfigure(self.rec, fill = 'black')
def deactivate(self):
self.canvas.itemconfig(self.rec, fill='lightgray')
def callback(self):
self.activate()
self.buttonlist[self.k][self.i] = 1
由于
AppFrame.__init__
没有调用Frame
超结构,AppFrame
对象不是正确的Tk
对象。该方法中的代码似乎与应该调用它的代码组合在一起,并且在该方法中声明的Frame
(self.f
)实际上应该是self
:在特定于应用程序的框架之外构建
^{pr2}$root
对象通常更模块化(这允许您将应用程序嵌入到根目录之外的其他位置):相关问题 更多 >
编程相关推荐