问题描述
构建检查按钮列表(3,000个案例)时,该列表会被切断。
这是一个小样本:
import tkinter as tk
class Example(tk.Frame):
def __init__(self,parent):
tk.Frame.__init__(self,parent)
self.canvas = tk.Canvas(self,borderwidth=0,background="#ffffff")
self.frame = tk.Frame(self.canvas,background="#ffffff")
self.vsb = tk.Scrollbar(self,orient="vertical",command=self.canvas.yview)
self.canvas.configure(yscrollcommand=self.vsb.set)
self.vsb.pack(side="right",fill="y")
self.canvas.pack(side="left",fill="both",expand=True)
self.canvas.create_window((4,4),window=self.frame,anchor="nw",tags="self.frame")
self.frame.bind("<Configure>",self.onFrameConfigure)
self.populate()
def populate(self):
for row in range(3000):
t="Example -Checkbutton %s" %row
button = tk.Checkbutton(self.frame,padx=7,relief=tk.RIDGE,text=t,onvalue=1,offvalue=0,font='Courier 12')
button.grid(row=row,column=1,sticky='news')
def onFrameConfigure(self,event):
self.canvas.configure(scrollregion=self.canvas.bBox("all"))
if __name__ == "__main__":
root=tk.Tk()
example = Example(root)
example.pack(side="top",expand=True)
root.mainloop()
程序的输出:
| |示例清单0
| |示例清单1123
| |示例清单1126
| |示例清单1125
| |示例清单2999
示例清单1126-2998不显示,示例清单2999用双线表示。
有显示完整列表的参数吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)