我试图让一堆随机的图片并排打印;问题是,如果我运行以下代码,所发生的只是它创建了一组空白的空标签。如果我用“text = 'whatever'”替换'image = pic',它工作正常(从而证明它实际上创建了标签)。将标签和图像放在其他任何地方都可以正常工作(证明它不是图像),即使我使用 'pic = PhotoImage(file=w[0])' 它也可以(所以我不认为这是我的方法).. .
from tkinter import *
from tkinter import ttk
import random
root = Tk()
root.title("RandomizedPic")
def randp(*args):
w = ['wb.gif', 'wc.gif', 'wd.gif', 'we.gif']
random.shuffle(w)
am = 1
for i in w:
pic = PhotoImage(file=i)
ttk.Label(mainframe, image=pic).grid(column=am, row=0, sticky=(W, E))
am+=1
mainframe = ttk.Frame(root, padding="3 3 12 12")
mainframe.grid(column=0, row=0, sticky=(N, W, E, S))
mainframe.columnconfigure(0, weight=1)
mainframe.rowconfigure(0, weight=1)
ttk.Button(mainframe, text="Do it", command=randp).grid(column=0, row=0, sticky=W)
root.bind('<Return>', randp)
root.mainloop()
任何有关如何使其工作的建议将不胜感激。