我正在使用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
有人也可以解释一下吗?
您需要使用columnconfigure和rowconfigure来设置网格列和行以随窗口扩展。另外: