【发布时间】:2019-04-28 22:18:43
【问题描述】:
我正在尝试制作一个记忆游戏,我希望在我按下按钮后出现图像。就像现在的代码一样,图像会立即出现。我确信有一种简单的方法可以使图像在按下时看起来好像它们在按钮“后面”,但由于我是这方面的初学者,所以我无法让它工作。有没有人可以给我一些建议?
from tkinter import *
from PIL import Image, ImageTk
root=Tk()
topFrame=Frame(root)
topFrame.pack()
bottomFrame=Frame(root)
bottomFrame.pack(side=BOTTOM)
def showImage(kitten):
if kitten == 1:
load1 = Image.open('Kittens1.GIF')
render1 = ImageTk.PhotoImage (load1)
img1 = Label(image=render1)
img1.image = render1
img1.pack()
if kitten == 2:
load1 = Image.open('Kittens2.GIF')
render1 = ImageTk.PhotoImage (load1)
img1 = Label(image=render1)
img1.image = render1
img1.pack()
def kitten(button):
if button == 1:
picture = showImage(1)
return picture
if button == 2:
picture = showImage(2)
return picture
if button == 3:
picture = showImage(3)
return picture
if button == 4:
picture = showImage(4)
return picture
if button == 5:
picture = showImage(5)
return picture
if button == 6:
picture = showImage(6)
return picture
number1 = 1
number2 = 2
number3 = 3
number4 = 4
number5 = 5
number6 = 6
button1= Button(topFrame, text="button1", fg="red", command=kitten(number1))
button2= Button(topFrame, text="button2", fg="blue", command=kitten(number2))
button3= Button(topFrame, text="button3", fg="green", command=kitten(number3))
button4= Button(bottomFrame, text="button4", fg="purple", command=kitten(number4))
button5= Button(bottomFrame, text="button5", fg="orange", command=kitten(number5))
button6= Button(bottomFrame, text="button6", fg="yellow", command=kitten(number6))
#packar dem för att visa dem. För att få dem efter varandra på en rad, skriv side=LEFT. annars packas de bara uppe på varandra.
button1.pack(side=LEFT)
button2.pack(side=LEFT)
button3.pack(side=LEFT)
button4.pack(side=LEFT)
button5.pack(side=LEFT)
button6.pack(side=LEFT)
root.mainloop()
【问题讨论】:
标签: python image button tkinter