gpt4 book ai didi

python - window 太小

转载 作者:行者123 更新时间:2023-12-01 06:03:46 29 4
gpt4 key购买 nike

这是代码:

from Tkinter import *

def main():
w1 = Tk()
w1["height"] = 400;
w1["width"] = 500;
w1.title("Gui")
f1 = Frame(w1)
f1.grid_propagate()
f1["height"] = w1["height"];
f1["width"] = w1["width"];
f1.pack()
p1 = Button(f1)
p1["borderwidth"] = 6
p1["text"] = "esci"
p1["background"] = "red"
p1["command"] = f1.quit
p1.pack()
w1.mainloop()
main()

我已经给了w1f1(窗口和框架)500x400的大小,但是出现了一个太小的窗口:它太小了,我会说200x100,但是我不知道......为什么会发生这种情况?

最佳答案

之所以这么小,是因为 tkinter 窗口默认“缩小以适应”。这称为几何传播,看起来您可能已经熟悉它了,因为您调用 grid_propagate ——但是,没有让它实际执行任何操作,也没有使用它返回的内容。

您的代码实际上有两个问题。第一个是您调用f1.grid_propagate() ,但您正在使用 pack将小部件排列在 f1 中所以你需要调用f1.pack_propagate反而。其次,您需要传递 False 的标志真正关闭传播。这样做会阻止 f1从缩小到适合其内容。

其次,您没有关闭 w1 上的传播,因此它将缩小以适合其子级。您需要调用 w1.grid_propagate(False) ,或者您可以调用w1.wm_geometry("500x400")请求窗口管理器将大小设置为该精确尺寸。

如果您刚刚学习 Tkinter,我建议您抵制关闭传播的冲动。在我用 tk 编写代码的几十年中,我可能每隔几年就会使用一次该功能。 Tkinter 的几何管理器是出色的工具,您应该学会利用它们。不要让容器控制它们的大小,而是让子级成为您想要的大小,GUI 的其余部分将正常工作。

关于python - window 太小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9048947/

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