Python 在tkinter中使用多帧展开
我试图在我的真实程序中得到底部红色框的等价物,它是标签和复选框,以扩展到顶部绿色框的大小,绿色框也是我真实程序中的复选框。填充和扩展似乎都不起作用。我也不能改变宽度。我做错了什么Python 在tkinter中使用多帧展开,python,tkinter,Python,Tkinter,我试图在我的真实程序中得到底部红色框的等价物,它是标签和复选框,以扩展到顶部绿色框的大小,绿色框也是我真实程序中的复选框。填充和扩展似乎都不起作用。我也不能改变宽度。我做错了什么 try: from tkinter import * except ImportError: from Tkinter import * class Application(Frame): def __init__(self,master=None): root = Tk()
try:
from tkinter import *
except ImportError:
from Tkinter import *
class Application(Frame):
def __init__(self,master=None):
root = Tk()
Frame.__init__(self,master)
topframe = Frame(self)
botframe = Frame(self)
Frame(topframe, background="green", width=300, height = 200).grid(row =0, column = 0)
Frame(botframe, background="red", width=200, height = 200).grid(row =1, column = 0, sticky = E)
topframe.pack(side = TOP)
botframe.pack(side = BOTTOM, fill = BOTH, expand = True)
self.pack(fill="both", expand=True)
root.mainloop()
Application()
我修好了,如果你有类似的问题,请看一看
try:
from tkinter import *
except ImportError:
from Tkinter import *
class Application(Frame):
def __init__(self,master=None):
root = Tk()
Frame.__init__(self,master)
topframe = Frame(root)
botframe = Frame(root)
topframe.grid(row =0, column = 0, sticky=N+E+W)
botframe.grid(row =1, column = 0, sticky=S+E+W)
topframe.columnconfigure(0, weight=1)
botframe.columnconfigure(0, weight=1)
Frame(topframe, background="green", width=300, height = 200).grid(row =0, column = 0, sticky=N+E+W)
Frame(botframe, background="red", width=200, height = 200).grid(row =1, column = 0, sticky = S+E+W)
root.mainloop()
Application()
使用grid时,一条经验法则是,应该对grid_rowconfigure和grid_columnconfigure进行配置,使至少一行和一列具有非零权重。这将导致该行和该列占用布局中的空闲空间 如果你描述一下你所做的,你的答案会更好。否则,其他试图向您学习的人将不得不逐行比较程序,直到他们发现差异。