所以我想做一个基于文本的游戏,但也希望将图像融入其中,我有一个主菜单,一个始终打开的窗口,然后是一个游戏窗口,应该有图像,但由于某些原因,它出现在菜单窗口中。有人知道为什么吗?在
def menu():
master = Tk()
master.geometry("350x300")
master.wm_iconbitmap("zombie.ico")
master.configure(background = '#484a2c')
master.title("Menu")
def game():
master = Tk()
master.geometry("800x500")
master.title("Game")
master.wm_iconbitmap("zombie.ico")
master.configure(background = '#484a2c')
image = PhotoImage(file="Kitchenimage.gif")
label5 = Label(image=image)
label5.image = image
label5.pack()
label = Label(master, text = "Zombie Mansion", background = '#484a2c',
font = ("AR CHRISTY", 30))
label.pack()
b = Button(master,text = "Play Game", height = 1, width = 10)
b.config(background = '#484a2c', activebackground = '#484a2c', font =
("AR CHRISTY", 14), command = get_username)
b.place(x = 120, y = 70)
mainloop()
假设您在代码中的某个地方有另一个
Tk
实例,即您所说的主菜单,但您没有向我们展示:除了
^{pr2}$game
方法中的master = Tk()
之外,这是因为当您在实例化小部件时没有显式地传递父部件,如中所示:然后小部件的父级默认为
Tk
实例,其mainloop
正在运行,在上面的例子中,假设是main
。默认情况下,小部件显示在它们的父级下,这就是原因。在将父对象显式传递如下:
或者
在大多数情况下,如果不是所有的情况,you shouldn't have multiple instances of ^{} 。如果需要其他窗口,请使用
Toplevel
小部件。在相关问题 更多 >
编程相关推荐