Python 带有滚动条的Tkinter框架可以切断一些数据

Python 带有滚动条的Tkinter框架可以切断一些数据,python,tkinter,tk,Python,Tkinter,Tk,我试图用复选框填充Tk框架。我可以在框架上列出它们,并使列表滚动,但是,在列出一定数量的项目后(根据输出的数据而不同),列表停止显示。我知道其他项目在技术上是存在的,因为我可以从我可以查看的最后一个项目上下翻页,但无论出于何种原因,完整列表都无法正确显示。有什么想法吗 from Tkinter import * from ttk import * from AutoScrollbar import AutoScrollbar selectRoot = Tk() selectRoot.rowco

我试图用复选框填充Tk框架。我可以在框架上列出它们,并使列表滚动,但是,在列出一定数量的项目后(根据输出的数据而不同),列表停止显示。我知道其他项目在技术上是存在的,因为我可以从我可以查看的最后一个项目上下翻页,但无论出于何种原因,完整列表都无法正确显示。有什么想法吗

from Tkinter import *
from ttk import *
from AutoScrollbar import AutoScrollbar

selectRoot = Tk()
selectRoot.rowconfigure(0, weight=1)

selectRoot.title("Portal Creator - Select Clients")

vscrollbar = AutoScrollbar(selectRoot)
vscrollbar.grid(row=0, column=1, sticky=N+S)
hscrollbar = AutoScrollbar(selectRoot, orient=HORIZONTAL)
hscrollbar.grid(row=1, column=0, sticky=E+W)
canvas = Canvas(selectRoot, yscrollcommand=vscrollbar.set, xscrollcommand=hscrollbar.set)
canvas.grid(row=0, column=0, sticky=N+S+E+W)

vscrollbar.config(command=canvas.yview)
hscrollbar.config(command=canvas.xview)

selectRoot.grid_rowconfigure(0, weight=1)
selectRoot.grid_columnconfigure(0, weight=1)

frame = Frame(canvas)
frame.rowconfigure(1, weight=2)
frame.columnconfigure(1, weight=1)

clientList = []
clientListItems = {}
rowCounter = 0



for client in xrange(0,3000):


    checkInt = IntVar()

    clientListItems['clientCheck'] = Checkbutton(frame, text=client, variable=checkInt)

    clientListItems['clientCheck'].grid(row=rowCounter, column=0, sticky=W)

    clientListItems['checkInt'] = checkInt

    clientList.append(clientListItems.copy())

    rowCounter += 1

canvas.create_window(1, 1, anchor=NW, window=frame)
frame.update_idletasks()
canvas.config(scrollregion=canvas.bbox("all"))

selectRoot.mainloop()

你想显示3000个复选框?您希望用户如何实际使用这样的界面?是的,我希望显示大约那么多复选框。只有这样,我们面前才有一个所有东西的列表,而我们一次只能选择几个选项(从按字母顺序排序的列表中)。我不是一个专业的开发人员,这只是一个自动化一些重复的即将到来的工作的项目,所以我将是唯一一个使用它的人(与我们的行政协助团队的人一起)。如果你能建议一个简单的方法,通过修改我试图做的事情来解决这个问题,我愿意接受。谢谢