python - _tkinter.TclError: image "pyimage1" 不存在,我是 python 的新手

我需要帮助创建一个带有 image 的按钮,创建 image 似乎不是问题,因为当我将鼠标悬停在 image 的文件位置时,会弹出 image。但是,如屏幕截图所示,错误 image "pyimage1" doesn't exist 出现。这是针对学校项目的 cookie 点击器类型游戏,我对 Python 非常了解(到目前为止学习了 3 天)。

from tkinter import *

gui = Tk()
clicks = 0


class Game():
multiplier = 0

global upgrades
upgrades = ["2", "4", "6", "8", "10", "20"], ["Upgrade 1", "Upgrade 2", "Upgrade 3", "Upgrade 4", "Upgrade 5", "Maxed"]

def setMultiplier(x):
    multiplier = x
    print(multiplier)

def clickcmd(multiplier):
    global clicks
    clicks += 1 * (multiplier)
    return clicks

def up1cmd(x):
    setMultiplier(upgrades[0][x])

# x = Which upgrade was bought, returns upgrade[x]
def getUpgrade(x):
    return upgrades[0, x], upgrades[1, x]

`

from tkinter import *
from Game import Game

gui = Tk()
gui.title("Clicking Mania")
gui.geometry("600x600")


# Inside GUI title
title = Label(gui, text="Clicking Mania")
title.pack()
title.grid_location(3, 2)


# Images
image = PhotoImage(file='../GameImages/DPic.png')
imagelabel = Label(image=image)
imageshop = PhotoImage(file='../GameImages/upgrade.png')
imageupgrade = Label(image=imageshop)


# Buttons
pickaxebutton = Button(gui, image=image, command=Game.clickcmd(1), borderwidth=0)
pickaxebutton.pack(pady=100)
upgradebutton = Button(gui, image=imageshop, borderwidth=0)


# change image
up1button = Button(gui, image=image, command=Game.up1cmd(), borderwidth=0)

balance = Label(gui, text="Balance: ", padx=20, pady=10)
balance.pack()

gui.mainloop()

回答1

仅查看几行代码就很难判断,但很可能 image 的路径是错误的。尝试使用操作系统库打印出您当前的路径。

import os os.getcwd()

然后从那里你可以找出你需要给出的路径。或者你可以给出一个绝对路径来看看这是否是问题所在。

相似文章

pygame - 为什么我会收到 Recursion 语句?

我所做的只是将更多的精灵添加到名为ALL(forsprites)的列表和相应的函数中。我希望一切都会好起来,但具有讽刺意味的是,当运行整个代码时,我却没有收到一个关于递归错误的错误,它基本上是重复多次...

c - 如何在 C 中添加模糊效果

我在为CS50设置的问题中创建模糊效果时遇到问题。我能够理解我的代码背后的逻辑,我认为它应该可以工作。代码可以编译,但模糊效果并没有按照我想要的方式发生。这个想法是一个像素将从它自己和相邻像素中获得平...

随机推荐

最新文章