为什么我的画布和/或我的照片没有显示?

时间:2017-06-04 02:00:32

标签: python class canvas tkinter widget

我不知道为什么我的画布没有显示。有一个对它的引用,self._screen,它正在pack,但它根本不显示。我错过了什么?

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);

1 个答案:

答案 0 :(得分:0)

我可以看到一些问题。 与其他编程语言不同,您不必在代码行的末尾使用 @Override public void onActivityResumed(Activity activity) { //User Is Active } @Override public void onActivityPaused(Activity activity) { //User Is Inactive } 。您不需要在功能中放置;m = Map(20)。您还需要定义一个tkinter窗口,以便将root.mainloop()添加到程序的开头。请查看下面的代码,如果您不了解某些内容,请告诉我。

root = Tk()