【发布时间】:2021-10-21 14:50:05
【问题描述】:
请先看代码:
from tkinter import*
import time
import random
class Game:
def __init__(self):
self.tk = Tk()
self.tk.title("Mr Stickman races for the exit")
self.tk.resizable(0, 0)
self.tk.wm_attributes("-topmost", 1)
self.canvas = Canvas(self.tk, width=500, height=500, highlightthickness= 0)
self.canvas,Pack()
self.tk.update()
self.canvas_height = 500
self.canvas_width = 500
self.bg = PhotoImage(file="background1.gif")
w = self.bg.width()
h = self.bg.height()
for x in range(0, 5):
for y in range (0, 5):
self.canvas.create_image(x * w, y * h, Image= self.bg, anchor="nw")
self.sprites = []
self.running = True
def mainloop(self):
while 1:
if self.running == True:
for sprite in self.sprites:
sprite.move()
self.tk.update_idletasks()
self.tk.update()
time.sleep(0.01)
g = Game()
g.mainloop()
当我运行它时,它会显示:
_tkinter.TclError: couldn't open "background1.gif": no such file or directory
我也尝试过这种方式,得到了这个错误:
self.bg = PhotoImage(file="C:\\Users\\Sajjad\\Documents\\python")
我将文件放在 excat 位置,但得到了这个:
_tkinter.TclError: couldn't open "C:\Users\Sajjad\Documents\python": permission denied
我该怎么办?
【问题讨论】:
-
你必须给它一个有效的文件路径。如果您不提供完整路径,则假定该文件位于当前工作目录中,该目录可能与您的脚本所在的目录不同。
-
这肯定不是确切的文件位置,确切的文件位置还必须包括文件名和扩展名
标签: python file tkinter background