2013-02-12 72 views
2

我試圖將圖像添加到列表框,但不是圖像,我在列表框中看到一個名爲「pyimage1」的條目。我已經使用文本和標籤小部件成功顯示圖像,但我無法弄清楚列表框部件。無法將圖像添加到Tkinter列表框

我檢查了文檔,但並未指出如何正確更新帶有圖像的Listbox。

將圖像添加爲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() 
+1

'Tkinter.Listbox'不支持此功能。也許你想'ttk.Treeview'? – mmgp 2013-02-12 23:36:58

回答

1

您不能添加圖片到列表框中。您將需要使用其他小部件,例如ttk.Treeview小部件。

+0

好的,我會查看ttk.Treeview。謝謝 :) – 2013-02-13 15:40:40