将同一网格行中的各种 LabelFrame 小部件放在一起
Getting various LabelFrame widgets in th same grid's row together
我一直在为我的应用程序制作欢迎 window,但我似乎无法在 window 上将最后一行的 LabelFrames 放在一起。我尝试通过添加 padx
和消除 columnspan
来配置 column weight
,但似乎没有任何效果,并且 LabelFrame
小部件保持相同的距离。
Frame
有 grid
包装,在最后 row
放置了 LabelFrames
。
这是我的代码:
import tkinter as tk
import tkinter.font as tkf
class ventana_inicio(tk.Frame):
def __init__(self,parent,controller,dbs):
tk.Frame.__init__(self,controller)
self.pack()
self.controller=controller
self.db_state=dbs
lblmuc=tk.Label(self,text="MAMOOTS ULTIMATE CLUB",font=tkf.Font(family="Arial Black",size="20"))
lbl98=tk.Label(self,text="Alive since 1998",font=tkf.Font(family="Segoe Script",slant="italic"))
lblbla=tk.Label(self,text="Version 1.0 // 2020",font=tkf.Font(family="Arial Black",size="8"),width=20)
lbfDB=tk.LabelFrame(self,text="SQL")
btnIDB=tk.Button(lbfDB,text="Iniciar")
btnCDB=tk.Button(lbfDB,text="Cargar")
btnBDB=tk.Button(lbfDB,text="Borrar")
lbfinf=tk.LabelFrame(self,text="Aplicación")
btnIAP=tk.Button(lbfinf,text="Iniciar")
btnLAP=tk.Button(lbfinf,text="Ver Log")
lfbst=tk.LabelFrame(self,text="Estado")
btnst=tk.Button(lfbst,text="Revisar")
lblmuc.grid(row=0,column=0,columnspan=6)
lbl98.grid(row=1,column=0,columnspan=6)
lblbla.grid(row=2,column=0,columnspan=6)
lbfDB.grid(row=3,column=0,columnspan=3,padx=5)
lbfinf.grid(row=3,column=3,columnspan=2,padx=5)
lfbst.grid(row=3,column=5,padx=5)
btnIDB.grid(row=0,column=0)
btnCDB.grid(row=0,column=1)
btnBDB.grid(row=0,column=2)
btnIAP.grid(row=0,column=0)
btnLAP.grid(row=0,column=1)
btnst.grid(row=0,column=0)
您需要使用 sticky
属性来告诉每个标签框“粘贴”到给定的 space 边缘。
lbfDB.grid(row=3,column=0,columnspan=3,padx=sticky="ew")
lbfinf.grid(row=3,column=3,columnspan=2,padx=5, sticky="ew")
lfbst.grid(row=3,column=5,padx=5, sticky="ew")
我一直在为我的应用程序制作欢迎 window,但我似乎无法在 window 上将最后一行的 LabelFrames 放在一起。我尝试通过添加 padx
和消除 columnspan
来配置 column weight
,但似乎没有任何效果,并且 LabelFrame
小部件保持相同的距离。
Frame
有 grid
包装,在最后 row
放置了 LabelFrames
。
这是我的代码:
import tkinter as tk
import tkinter.font as tkf
class ventana_inicio(tk.Frame):
def __init__(self,parent,controller,dbs):
tk.Frame.__init__(self,controller)
self.pack()
self.controller=controller
self.db_state=dbs
lblmuc=tk.Label(self,text="MAMOOTS ULTIMATE CLUB",font=tkf.Font(family="Arial Black",size="20"))
lbl98=tk.Label(self,text="Alive since 1998",font=tkf.Font(family="Segoe Script",slant="italic"))
lblbla=tk.Label(self,text="Version 1.0 // 2020",font=tkf.Font(family="Arial Black",size="8"),width=20)
lbfDB=tk.LabelFrame(self,text="SQL")
btnIDB=tk.Button(lbfDB,text="Iniciar")
btnCDB=tk.Button(lbfDB,text="Cargar")
btnBDB=tk.Button(lbfDB,text="Borrar")
lbfinf=tk.LabelFrame(self,text="Aplicación")
btnIAP=tk.Button(lbfinf,text="Iniciar")
btnLAP=tk.Button(lbfinf,text="Ver Log")
lfbst=tk.LabelFrame(self,text="Estado")
btnst=tk.Button(lfbst,text="Revisar")
lblmuc.grid(row=0,column=0,columnspan=6)
lbl98.grid(row=1,column=0,columnspan=6)
lblbla.grid(row=2,column=0,columnspan=6)
lbfDB.grid(row=3,column=0,columnspan=3,padx=5)
lbfinf.grid(row=3,column=3,columnspan=2,padx=5)
lfbst.grid(row=3,column=5,padx=5)
btnIDB.grid(row=0,column=0)
btnCDB.grid(row=0,column=1)
btnBDB.grid(row=0,column=2)
btnIAP.grid(row=0,column=0)
btnLAP.grid(row=0,column=1)
btnst.grid(row=0,column=0)
您需要使用 sticky
属性来告诉每个标签框“粘贴”到给定的 space 边缘。
lbfDB.grid(row=3,column=0,columnspan=3,padx=sticky="ew")
lbfinf.grid(row=3,column=3,columnspan=2,padx=5, sticky="ew")
lfbst.grid(row=3,column=5,padx=5, sticky="ew")