gpt4 book ai didi

python - 什么控制 Tkinter 中的自动窗口大小调整?

转载 作者:太空狗 更新时间:2023-10-29 20:50:27 27 4
gpt4 key购买 nike

Tkinter 顶级窗口似乎有两种“模式”:大小由应用程序确定,以及用户控制大小。考虑这段代码:

from tkinter import *

class Test(Frame):
def __init__(self,parent):
Frame.__init__(self,parent)
self.b1 = Button(self, text="Button 1",command=self.b1Press)
self.b1.pack()

def b1Press(self):
print("b1Press")
label = Label(self, text="Label")
label.pack()

root = Tk()
ui = Test(root)
ui.pack(fill='both', expand=1)
root.mainloop()

每次按下按钮时,可见窗口都会更改大小以适应附加标签。但是,如果我手动调整窗口大小(使用鼠标),那么它会停止这种自动调整大小的行为,从那时起我必须手动更改窗口的大小才能在添加新按钮时查看它们。

什么决定了顶层窗口的大小是由应用程序控制还是由用户控制?

在用户手动调整大小后,应用程序如何恢复自动调整大小?

最佳答案

规则非常简单 - 只要顶层窗口被赋予固定大小,它就具有固定大小,否则它会“缩小以适合”。

有两种方法可以给顶层窗口一个固定的大小:用户可以手动调整它的大小,或者你的应用程序代码可以调用wm_geometry。在启动时给它一个大小。

要重置原始行为,请为窗口指定一个空几何体。例如:

def __init__(self,parent):
...
self.b2 = Button(self, text="Reset", command=self.b2Press)
self.b2.pack()

def b2Press(self):
self.winfo_toplevel().wm_geometry("")

关于python - 什么控制 Tkinter 中的自动窗口大小调整?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8997497/

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