我正在尝试将图像添加到列表框中,但我在列表框中看到了一个名为“pyimage1”的条目,而不是图像。我已经使用 Text 和 Label 小部件成功显示了图像,但我无法弄清楚 Listbox 小部件。
我检查了文档,但它没有说明如何使用图像正确更新列表框。
将图像添加为列表框条目的最佳方法是什么?
这是我迄今为止尝试过的:
#!/usr/bin/python
# test: lb_and_jpg.py
from Tkinter import *
from PIL import Image, ImageTk
import os
my_image_file = os.getcwd() + r'\logo.jpg'
class MainApp:
def __init__(self, parent):
self.myParent = parent
self.main_container = Frame(parent)
self.main_container.grid(row=0, rowspan=10, column=0, columnspan=20)
# Defining frames
self.left_frame = Frame(self.main_container)
self.left_frame.grid(row=0, rowspan=10, column=0, columnspan=5)
self.right_frame = Frame(self.main_container)
self.right_frame.grid(row=0, rowspan=10, column=6, columnspan=14)
self.left_listbox = Listbox(self.left_frame, height=10, width=5)
self.left_listbox.grid(row=0, column=0)
self.right_listbox = Listbox(self.right_frame, height=10, width=14)
self.right_listbox.grid(row=0, column=0)
my_img = Image.open(my_image_file)
my_image = ImageTk.PhotoImage(my_img)
self.right_listbox.insert(END, my_image)
root = Tk()
root.title("ListBox and JPG")
mainapp = MainApp(root)
root.mainloop()