gpt4 book ai didi

python - 如何设置框架的最小和最大高度或宽度?

转载 作者:IT老高 更新时间:2023-10-28 20:54:13 25 4
gpt4 key购买 nike

Tkinter 窗口的大小可以通过以下方法控制:

.minsize()
.maxsize()
.resizable()

是否有等效的方法来控制 Tkinter 或 ttk Frames 的大小?

@Bryan:我将您的 frame1.pack 代码更改为以下内容:

frame1.pack(fill='both', expand=True)
frame1.bind( '<Configure>', maxsize )

我添加了这个事件处理程序:

# attempt to prevent frame from growing past a certain size
def maxsize( event=None ):
print frame1.winfo_width()
if frame1.winfo_width() > 200:
print 'frame1 wider than 200 pixels'
frame1.pack_propagate(0)
frame1.config( width=200 )
return 'break'

上述事件处理程序检测到帧的宽度太大,但无法阻止尺寸增加的发生。这是 Tkinter 的限制还是我误解了你的解释?

最佳答案

没有单一的魔法函数可以将帧强制为最小或固定大小。但是,您当然可以通过为框架指定宽度和高度来强制调整框架的大小。然后,您可能还需要做两件事:当您将此窗口放入容器中时,您需要确保几何管理器不会缩小或扩大窗口。二,如果框架是其他小部件的容器,请关闭网格或包传播,以便框架不会缩小或扩展以适应其自身的内容。

但是请注意,这不会阻止您将窗口大小调整为小于内部框架。在这种情况下,框架将被剪裁。

import Tkinter as tk

root = tk.Tk()
frame1 = tk.Frame(root, width=100, height=100, background="bisque")
frame2 = tk.Frame(root, width=50, height = 50, background="#b22222")

frame1.pack(fill=None, expand=False)
frame2.place(relx=.5, rely=.5, anchor="c")

root.mainloop()

关于python - 如何设置框架的最小和最大高度或宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4399180/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com