我想在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行以上的数据。如何增加这里显示的行数?
发布于 2019-05-29 03:22:31
必须将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]))
https://stackoverflow.com/questions/56348198
复制相似问题