我想在 TreeView 中显示 500 多个条目。以下是我写的代码:
import tkinter.ttk as ttk
from tkinter import *
#entries is a list of lists containing the data I want to display
master = Tk()
tree = ttk.Treeview(master, columns=('Name', 'Quiz 1', 'Quiz 2', 'MidSem'))
tree.heading('#0', text='ID')
tree.heading('#1', text='Name')
tree.heading('#2', text='Quiz 1')
tree.heading('#3', text='Quiz 2 ')
tree.heading('#4', text='MidSem')
tree.column('#1', stretch=YES)
tree.column('#2', stretch=YES)
tree.column('#3', stretch=YES)
tree.column('#4', stretch=YES)
tree.column('#0', stretch=YES)
tree.pack(fill=BOTH)
for entry in entries:
tree.insert('', 'end', text=entry[0], values=(entry[1], entry[2], entry[3], entry[4]))
当我运行此代码时,似乎只能看到 10 行数据,即使我调整窗口大小并且我希望看到超过 10 行数据。 如何增加其中显示的行数?
最佳答案
您必须设置 Expand = 1
import tkinter.ttk as ttk
from tkinter import *
#entries is a list of lists containing the data I want to display
entries = []
for i in range(0,500):
args = (i,'Name','Quiz 1', 'Quiz 2', 'MidSem')
entries.append(args)
master = Tk()
tree = ttk.Treeview(master, columns=('Name', 'Quiz 1', 'Quiz 2', 'MidSem'))
tree.heading('#0', text='ID')
tree.heading('#1', text='Name')
tree.heading('#2', text='Quiz 1')
tree.heading('#3', text='Quiz 2 ')
tree.heading('#4', text='MidSem')
tree.column('#1', stretch=YES)
tree.column('#2', stretch=YES)
tree.column('#3', stretch=YES)
tree.column('#4', stretch=YES)
tree.column('#0', stretch=YES)
tree.pack(fill=BOTH,expand=1)
for entry in entries:
tree.insert('', 'end', text=entry[0], values=(entry[1], entry[2], entry[3], entry[4]))
关于python - 如何增加TreeView中显示的数据行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56348198/