Python Tkinter | método grid_location() y grid_size()

Tkinter se utiliza para desarrollar aplicaciones GUI (interfaz gráfica de usuario). Admite una variedad de widgets, así como una variedad de métodos de widgets o métodos de widgets universales.
 

método grid_location() –

Este método devuelve una tupla que contiene (columna, fila) de cualquier widget especificado. Dado que este método es un método de widget, no puede usarlo con el objeto maestro (o el objeto Tk()). Para usar este método, primero debe crear un marco y tratarlo como padre (o maestro).
 

Sintaxis: widget.grid_location (x, y) Parámetros
:  
xey son las posiciones relativas a la esquina superior izquierda del widget (widget principal). 
 

En el siguiente ejemplo, grid_location() se usa para obtener la ubicación del widget en el widget Frame.
 

Python3

# This imports all functions in tkinter module
from tkinter import * from tkinter.ttk import *
 
# creating master window
master = Tk()
 
# This method is used to get the position
# of the desired widget available in any
# other widget
def click(event):
     
    # Here retrieving the size of the parent
    # widget relative to master widget
    x = event.x_root - f.winfo_rootx()
    y = event.y_root - f.winfo_rooty()
 
    # Here grid_location() method is used to
    # retrieve the relative position on the
    # parent widget
    z = f.grid_location(x, y)
 
    # printing position
    print(z)
 
# Frame widget, will work as
# parent for buttons widget
f = Frame(master)
f.pack()
 
# Button widgets
b = Button(f, text = "Button")
b.grid(row = 2, column = 3)
 
c = Button(f, text = "Button2")
c.grid(row = 1, column = 0)
 
# Here binding click method with mouse
master.bind("<Button-1>", click)
 
# infinite loop
mainloop()

método grid_size() –

Este método se utiliza para obtener el número total de cuadrículas presentes en cualquier widget principal. Este es un método de widget, por lo que no se puede usar con el objeto maestro. Uno tiene que crear un widget de marco.
 

Sintaxis: (columnas, filas) = ​​widget.grid_size()
Valor devuelto: Devuelve el número total de columnas y filas (cuadrículas). 
 

A continuación se muestra el código Python-
 

Python3

# This imports all functions in tkinter module
from tkinter import * from tkinter.ttk import *
 
# creating master window
master = Tk()
 
# This method is used to get the size
# of the desired widget i.e number of grids
# available in the widget
def grids(event):
     
    # Here, grid_size() method is used to get
    # the total number grids available in frame
    # widget
    x = f.grid_size()
 
    # printing (columns, rows)
    print(x)
 
# Frame widget, will work as
# parent for buttons widget
f = Frame(master)
f.pack()
 
# Button widgets
b = Button(f, text = "Button")
b.grid(row = 1, column = 2)
 
c = Button(f, text = "Button2")
c.grid(row = 1, column = 0)
 
# Here binding click method with mouse
master.bind("<Button-1>", grids)
 
# infinite loop
mainloop()

Salida: 
cada vez que haga clic en el botón del mouse, devolverá el mismo valor hasta que no se agreguen más widgets O no aumente el número de filas y columnas.
 

(3, 2)

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 *