如何制作可以在Tkinter中调整大小的框架

问题描述 投票:-1回答:1

我正在使用Tkinter并有一个需要调整大小的框架,是否可以在不更改类或网格管理器工作方式的情况下进行(继承Frame方法并将框架用作我的窗口)?我尝试查看其他堆栈溢出问答,但并不太了解它们,因为每个问题都有其他干扰一般问题的代码。

代码:

from tkinter import *

class Window(Frame): # Inherits Frame methods

    def __init__(self, master):
        Frame.__init__(self, master, bg='LightBlue') # Initializes the frame

        self.master = master # Creates master

        self.init_window()  # Method to grid

        self.master.mainloop() # Runs window

    def init_window(self):

        self.grid()


root = Tk()  # Creates a master
app = Window(root) # Initializes app using root as master

有人可以帮我吗?

编辑:

为什么Novels的答案与...相反?

代码:

from tkinter import *

class Window(Frame): # Inherits Frame methods

    def __init__(self, master):
        Frame.__init__(self, master, bg='LightBlue') # Initializes the frame

        self.master = master # Creates master

        self.init_window()  # Method to grid

        self.master.mainloop() # Runs window

    def init_window(self):

        self.grid(column=0, row=0, sticky=N+S+E+W)

        self.columnconfigure(0, weight=1)

        self.rowconfigure(0, weight=1)

root = Tk()  # Creates a master
app = Window(root) # Initializes app using root as master

有人也可以解释一下吗?

python python-3.x tkinter frame
1个回答
2
投票

您需要使用columnconfigure和rowconfigure来设置网格列和行以随窗口扩展。另外:

© www.soinside.com 2019 - 2024. All rights reserved.