Python | método grid() en Tkinter

El administrador de geometría de cuadrícula coloca los widgets en una tabla bidimensional. El widget maestro se divide en varias filas y columnas, y cada «celda» de la tabla resultante puede contener un widget. El administrador de cuadrícula es el más flexible de los administradores de geometría en Tkinter . Si no desea aprender cómo y cuándo usar los tres administradores, al menos debe asegurarse de aprender este. Considere el siguiente ejemplo: 

Es posible crear este diseño con el administrador de paquetes , pero se necesitan varios widgets de marco adicionales y mucho trabajo para que las cosas se vean bien. Si usa el administrador de cuadrícula en su lugar, solo necesita una llamada por widget para que todo se distribuya correctamente. Usar el administrador de cuadrícula es fácil. Simplemente cree los widgets y use el método de cuadrícula para decirle al administrador en qué fila y columna colocarlos. No es necesario que especifique el tamaño de la cuadrícula de antemano; el administrador lo determina automáticamente a partir de los widgets que contiene. 

Código #1: 

Python3

# import tkinter module
from tkinter import * from tkinter.ttk import *
 
# creating main tkinter window/toplevel
master = Tk()
 
# this will create a label widget
l1 = Label(master, text = "First:")
l2 = Label(master, text = "Second:")
 
# grid method to arrange labels in respective
# rows and columns as specified
l1.grid(row = 0, column = 0, sticky = W, pady = 2)
l2.grid(row = 1, column = 0, sticky = W, pady = 2)
 
# entry widgets, used to take entry from user
e1 = Entry(master)
e2 = Entry(master)
 
# this will arrange entry widgets
e1.grid(row = 0, column = 1, pady = 2)
e2.grid(row = 1, column = 1, pady = 2)
 
# infinite loop which can be terminated by keyboard
# or mouse interrupt
mainloop()

Producción:

    

Código #2: Crear el diseño que se muestra arriba. 

Python3

# import tkinter module
from tkinter import * from tkinter.ttk import *
 
# creating main tkinter window/toplevel
master = Tk()
 
# this will create a label widget
l1 = Label(master, text = "Height")
l2 = Label(master, text = "Width")
 
# grid method to arrange labels in respective
# rows and columns as specified
l1.grid(row = 0, column = 0, sticky = W, pady = 2)
l2.grid(row = 1, column = 0, sticky = W, pady = 2)
 
# entry widgets, used to take entry from user
e1 = Entry(master)
e2 = Entry(master)
 
# this will arrange entry widgets
e1.grid(row = 0, column = 1, pady = 2)
e2.grid(row = 1, column = 1, pady = 2)
 
# checkbutton widget
c1 = Checkbutton(master, text = "Preserve")
c1.grid(row = 2, column = 0, sticky = W, columnspan = 2)
 
# adding image (remember image should be PNG and not JPG)
img = PhotoImage(file = r"C:\Users\Admin\Pictures\capture1.png")
img1 = img.subsample(2, 2)
 
# setting image with the help of label
Label(master, image = img1).grid(row = 0, column = 2,
       columnspan = 2, rowspan = 2, padx = 5, pady = 5)
 
# button widget
b1 = Button(master, text = "Zoom in")
b2 = Button(master, text = "Zoom out")
 
# arranging button widgets
b1.grid(row = 2, column = 2, sticky = E)
b2.grid(row = 2, column = 3, sticky = E)
 
# infinite loop which can be terminated
# by keyboard or mouse interrupt
mainloop()

Producción:

  

Advertencia: nunca mezcle grid() y pack() en la misma ventana maestra.

Publicación traducida automáticamente

Artículo escrito por sanjeev2552 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *