将同一网格行中的各种LabelFrame小部件放在一起

2024-10-01 19:31:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我一直在为我的应用程序设计一个欢迎窗口,但我似乎无法在window上获得最后一行的LabelFrame。我尝试过通过添加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)

Tags: textselfcolumnbuttontkgridrowtkf
1条回答
网友
1楼 · 发布于 2024-10-01 19:31:20

您需要使用sticky属性告诉每个labelframe“粘贴”到给定空间的边缘

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")

相关问题 更多 >

    热门问题