【发布时间】:2017-11-05 02:46:45
【问题描述】:
我不知道为什么我的画布没有显示。有一个对它的引用,self._screen,它是packed,但它根本不显示。我错过了什么?
class Map(Frame):
def __init__(self, size):
Frame.__init__(self)
self.pack()
#images
self.spriteDimension = 20
self.img1 = PhotoImage(file="Terrain1.gif")
self.img2 = PhotoImage(file="Terrain2.gif")
#grid
self._mapSize = size
# self._grid = self.randomize()
#canvas
canvas_dimension = self._mapSize * self.spriteDimension
self._screen = Canvas(self, width=canvas_dimension, height=canvas_dimension)
self._screen.pack()
self.test()
def test(self):
print("in here")
self._screen.create_image((50,50), anchor = NW, image = self.img1)
print("out here")
def main():
m =Map(20);
m.mainloop(20);
【问题讨论】:
-
删除
mainloop的参数:即使用m.mainloop()。你也不需要结束分号,但它们不会伤害任何东西, -
抱歉,我忘了把那个错误改掉
标签: python class canvas tkinter widget