有时Tkinter画布不会加载

时间:2017-02-13 01:49:42

标签: python-3.x tkinter tkinter-canvas

我正在编写一个涉及在tkinter画布上绘制矩形的程序。这是创建画布的代码和它所属的窗口。 (这是在一个对象中,root.mainloop()稍后在对象外部调用,而绘图也出现在其他地方)

    self.root = tk.Tk()
    self.root.title = "Game"
    self.root.resizable(0,0)
    self.root.geometry('{}x{}'.format(500, 500))

    #create drawing canvas
    self.canvas_base = tk.Canvas(self.root, bg="white", width=500, height=500)

    self.canvas_base.bind("<Up>", lambda event1, arg1=0: self.arrow_press(event1,arg1)) #bind up key
    self.canvas_base.bind("<Right>", lambda event2, arg2=1: self.arrow_press(event2,arg2)) #bind right key
    self.canvas_base.bind("<Down>", lambda event3, arg3=2: self.arrow_press(event3,arg3)) #bind down key
    self.canvas_base.bind("<Left>", lambda event4, arg4=3: self.arrow_press(event4,arg4)) #bind left key
    self.canvas_base.focus_set()  #give the window keyboard focus

    self.canvas_base.pack()

我注意到的问题是,有时候没有生成画布,因为白色背景无法显示,而我留下了窗口的灰色/灰白色基本背景。控制台中没有弹出错误,窗口中的其他代码运行正常。这是画布的正常问题,还是与代码有关?

考虑到我的代码的大小,以及我不知道究竟是什么导致了这个问题。我决定只发布主要的初始化,但是如果代码中的绘图/其他内容会产生影响,我也可以发布。此外,画布没有其他任何功能。

编辑:

这似乎是在创建画布句点时发生的,可能是Python错误。通过运行与整个文件类似的代码,并在每次运行之前等待一段时间,第一次在大约一小时后运行它会导致没有Canvas出现。

0 个答案:

没有答案