Python 如何使用Tkinter动态调整窗口大小?

Python 如何使用Tkinter动态调整窗口大小?,python,tkinter,Python,Tkinter,我希望窗口的颜色、入口和按钮在窗口大小改变时能充分利用所有空间。如果您使用框架,tkinter的几何管理人员正在为您做这项工作,请参见: root= tk.Tk() root.title('Quick Googling') canvas1 = tk.Canvas(root, width = 400, height = 300) canvas1.pack() entry1 = tk.Entry (root) canvas1.create_window(200, 140, window=entr

我希望窗口的颜色、入口和按钮在窗口大小改变时能充分利用所有空间。

如果您使用框架,tkinter的几何管理人员正在为您做这项工作,请参见:

root= tk.Tk()
root.title('Quick Googling')
canvas1 = tk.Canvas(root, width = 400, height = 300)
canvas1.pack()

entry1 = tk.Entry (root) 
canvas1.create_window(200, 140, window=entry1)
canvas1.config(background="#8FB1CC"

button1 = tk.Button(text='Search Google', bg = "blue")
canvas1.create_window(200, 180, window=button1)
看看我写的一篇关于基础知识的文章

  • 填充-水平、垂直或同时拉伸从属对象-展开
  • 从机应该扩展以消耗其主机中的额外空间
  • 因此,上面的代码所做的是创建一个自然大小的
    ,这意味着它将自身收缩到排列子对象所需的最小空间

    在此之后,我们将首次使用
    几何体管理器
    打包并提供选项填充,这将告诉帧进行拉伸,并使用可选参数展开以消耗额外空间。它们一起调整框架与窗口的大小,因为其中没有其他内容

    之后,我们创建一个
    条目
    ,并再次使用方法
    pack
    将其与此几何体管理器一起排列。我们再次使用可选参数fill并给出值“x”,它告诉几何体管理器垂直拉伸从属/条目

    因此,如果框架展开,入口将垂直拉伸


    至少我们创建了一个
    按钮
    ,并使用已知的关键字,使其随帧调整大小。

    您的代码没有任何作用吗?查看一个问题,并生成一个解决方案。有几种方法可以实现这一点。我的第一个问题是,你为什么在这里使用画布?你介意使用框架吗?我对画布没有任何偏好,如果框架更适合,我会更喜欢。你知道你的代码不可运行吗?只需将根背景颜色设置为你想要的颜色即可?比如,
    root.config(bg='#8FB1CC')
    如何填充它的长度?剩下的都能用。@SamrathChadha有开放性问题吗?开放性问题到底是什么?我是新来的
    import tkinter as tk
    
    root= tk.Tk()
    root.title('Quick Googling')
    myframe = tk.Frame(root)
    myframe.pack(fill='both',expand=True)
    
    entry1 = tk.Entry (myframe,background="#8FB1CC")
    entry1.pack(fill='x')
    
    button1 = tk.Button(myframe,text='Search Google', bg = "blue")
    button1.pack(fill='both',expand=1)
    root.mainloop()