【问题标题】:Do Python Tkinter frame have limitation on maximum number of widget it can holdPython Tkinter 框架是否对它可以容纳的最大小部件数量有限制
【发布时间】:2018-11-16 18:03:48
【问题描述】:

我正在尝试创建一个简单的可滚动框架但是在这样做时我注意到内部框架中显示的小部件数量不超过 1559。
框架是否有任何限制或限制,它只能垂直 1560 个小部件??

from Tkinter import *

def con(event):
    canvas.configure(scrollregion=canvas.bbox("all"))

window = Tk()
outframe =  Frame(window,width=300,height=300,bg="red")
outframe.pack()
canvas = Canvas(outframe,width=200,height=200,bg="blue")

inframe = Frame(canvas,width=200,height=200,bg="red")
bar = Scrollbar(outframe)
bar.pack(side="right",fill="y")
canvas.configure(yscrollcommand=bar.set)
bar.configure(command=canvas.yview)
canvas.pack()
canvas.create_window((0,0),window=inframe,anchor='nw')
inframe.bind("<Configure>",con)
for i in range(2000):
    Label(inframe,text=str(i)).grid(row=i,column=0)
window.mainloop()

【问题讨论】:

  • 这不是小部件的限制,而是我认为的坐标空间的限制; +/-32767 像素左右。
  • 我怀疑它与框架的最大高度有关。如果你把标签打包成多列,(例如,通过Label(inframe,text=str(i)).grid(row=i/10,column=i%10)),那么2000个标签都将毫无问题地呈现。

标签: python tkinter tkinter-canvas scrollable


【解决方案1】:

画布的大小是有限制的,它对画布中的东西施加了大小限制。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-11-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-26
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多