为什么我的图像不显示在 python tkinter 中?

时间:2021-04-18 19:14:19

标签: python python-3.x tkinter

所以当我尝试制作游戏时,首页很好

Front page

但是当我尝试游戏时没有显示图像。为什么?如何在不改变系统顺序的情况下修复它? 它总是不显示图像或在我的其他项目中什么也不显示,不知道为什么

a screen shot

这里的代码:

from Tkinter import *
from PIL import Image,ImageTk
from Winsound import *

win = Tk()
win.config(bg="#e300ff")
win.geometry("950x600+160+60")
win.resizable(width = False, height = False)


def play_sound_play():
    global playgame
    PlaySound("SoundEffects\Coins.wav", SND_FILENAME)
    playbtn.destroy()
    win.config(bg="white")
    playgame = True
    game()

def printpos(event):
    print(f"{plr_posx}")

def MoveLeft(event):
    global plr_posx
    if plr_posx == 311:
       print("cant go into grass")
    else:
       plr_posx -= 150
       plr.place(x=plr_posx,y=plr_posy)
    
def MoveRight(event):
    global plr_posx
    if plr_posx >= 610:
       print("cant go into grass")
    else:
       plr_posx += 150
       plr.place(x=plr_posx,y=plr_posy)

def game():

    global plr
    global plr_posx
    global plr_posy

    #road
    road_img = ImageTk.PhotoImage(Image.open("texture\ymd.png"))
    road = Label(win, image=road_img)
    road.pack()
    road.place(x=321,y=0)

    #grass
    grass_img = ImageTk.PhotoImage(Image.open("texture\grass.png"))
    grass1 = Label(win, image=grass_img)
    grass1.pack()
    grass1.place(x=-2,y=0)
    grass2 = Label(win, image=grass_img)
    grass2.pack()
    grass2.place(x=646,y=0)

    #Plr pos
    plr_posx=311
    plr_posy=450

    #Plr
    plr_img = ImageTk.PhotoImage(Image.open("texture\Player.png"))
    plr = Label(win, image=plr_img)
    plr.pack()
    plr.place(x=plr_posx,y=plr_posy)

    if playgame == False:
       print("2")
    else:
       print("1")
       #controls
       win.bind("<Left>",MoveLeft)
       win.bind("<Right>",MoveRight)
       win.bind("<p>",printpos)

def main():
    global playbtn

    #PlayBtn
    play_btn = ImageTk.PhotoImage(Image.open("texture\play_btn.png"))
    playbtn = Button(win, image=play_btn,bd=0,bg="#e300ff",activebackground='#e300ff', command=play_sound_play)
    playbtn.pack()
    playbtn.place(x=150,y=250)
    win.mainloop()

main()

没有显示错误

No Error

即使在我关闭它之后 no error

0 个答案:

没有答案