Python里用tkinter.ttk.Treeview表格组件,怎么让其显示图片?

运用tkinter.ttk.Treeview组件进行淘宝商品界面模拟,怎么让第一列显示商品的图片(图片url已经有了且已经转成Photoimage)。
请大佬们帮帮忙,网络上很难找到Treeview的教学,整了好几天了都不行
不用具体代码,只要告诉我该怎么做就行,谢谢。

你好,下面是使用tkinter.ttk.Treeview来显示图片到第一列的一个例子,你可以看看

import tkinter as tk
import tkinter.ttk as ttk
class App(ttk.Frame):
    def __init__(self, parent=None, *args, **kwargs):
        ttk.Frame.__init__(self, parent)
        self.parent = parent
        # Create Treeview 
        self.tree = ttk.Treeview(self, column=('A','B'), selectmode='none', height=7)
        self.tree.grid(row=0, column=0, sticky='nsew')
        # Setup column heading
        self.tree.heading('#0', text=' Pic directory', anchor='center')
        self.tree.heading('#1', text=' A', anchor='center')
        self.tree.heading('#2', text=' B', anchor='center')
        # #0, #01, #02 denotes the 0, 1st, 2nd columns
        # Setup column
        self.tree.column('A', anchor='center', width=100)
        self.tree.column('B', anchor='center', width=100)
        # Insert image to #0 
        self._img = tk.PhotoImage(file="20190116115007169.gif") #change to your file path
        self.tree.insert('', 'end', text="#0's text", image=self._img,
                         value=("A's value", "B's value"))

if __name__ == '__main__':
    root = tk.Tk()
    root.geometry('450x180+300+300')
    app = App(root)
    app.grid(row=0, column=0, sticky='nsew')
    root.rowconfigure(0, weight=1)
    root.columnconfigure(0, weight=1)
    root.mainloop()

追问

你好。麻烦问下,这个方法显示的图片是随着图片大小改变表的行高?还是设置行高后图片会适应行高而缩小?

追答

那个图是大小已经固定的了,但是你可以通过调整width和height来显示这个图片。

追问

好的,不胜感激了,网上这方面的知识是真的少,真是谢谢了

温馨提示:答案为网友推荐,仅供参考
相似回答