¿Cómo mover un botón Tkinter?

Requisito previo: crear un botón en tkinter

Tkinter es la biblioteca más utilizada para desarrollar GUI (interfaz gráfica de usuario) en Python. Es una interfaz estándar de Python para el kit de herramientas Tk GUI que se envía con Python. Como Tk y Tkinter están disponibles en la mayoría de las plataformas Unix, así como en el sistema Windows, el desarrollo de aplicaciones GUI con Tkinter se convierte en el más rápido y sencillo.

Este módulo no viene integrado con Python. Para instalar este módulo, escriba el siguiente comando pip en la terminal.

pip install tkintertable

Acercarse:

  • Importe el módulo tkinter # Tkinter en Python 2.x. (Nota T mayúscula).
  • Crear ventana principal (raíz = Tk()).
  • Agregue un botón a la ventana.
  • Coloque el botón.

El botón en el módulo Tkinter se puede colocar o mover a cualquier posición de dos maneras:

  • Usando el método del lugar.
  • Y usando el método del paquete.

Método 1: Usar el método del lugar

Este método se utiliza para colocar un botón en una posición definida absoluta.

Sintaxis: button1.place(x=algún_valor, y=algún_valor) 

Parámetros:

  • x : Define la coordenada x de la posición del botón.
  • y : Define la coordenada y de la posición del botón.

A continuación se muestra la implementación del enfoque que se muestra arriba:

Python3

# Importing tkinter module
from tkinter import *       
 
# Creating a tkinter window
root = Tk()
 
# Initialize tkinter window with dimensions 300 x 250            
root.geometry('300x250')    
 
# Creating a Button
btn = Button(root, text = 'Click me !', command = root.destroy)
 
# Set the position of button to coordinate (100, 20)
btn.place(x=100, y=20)
 
root.mainloop()

Producción:

Método 2: Usar el método del paquete

Este método se utiliza para colocar un botón en una posición relativa.

Sintaxis: botón1.paquete(lado=algún_lado, padx=algún_valor, pady=algún_valor)

Parámetros: 

  • side : Define el lado donde se colocará el botón.
  • padx : Define el relleno en el eje x desde el lado definido.
  • pady: define el relleno en el eje y desde el lado definido.

A continuación se muestra la implementación del enfoque que se muestra arriba:

Python3

# Importing tkinter module
from tkinter import *       
 
# Creating a tkinter window
root = Tk()
 
# Initialize tkinter window with dimensions 300 x 250            
root.geometry('300x250')    
 
# Creating a Button
btn = Button(root, text = 'Click me !', command = root.destroy)
 
# Set a relative position of button
btn.pack(side=RIGHT, padx=15, pady=20)
 
root.mainloop()

Producción:

Método 3: Usar el método de cuadrícula

Este método se utiliza para cuadricular un botón en una posición relativa.

Sintaxis: button.widget.grid( grid_options )

Parámetros: 

  • columna: la columna en la que colocar el widget; predeterminado 0 (columna más a la izquierda).
  • columnpan: cuántas columnas ocupa el widget; predeterminado 1.
  • ipadx, ipady: cuántos píxeles rellenar el widget, horizontal y verticalmente, dentro de los bordes del widget.
  • padx, pady: cuántos píxeles rellenar el widget, horizontal y verticalmente, fuera de los bordes de v.
  • fila: la fila para colocar el widget; por defecto la primera fila que todavía está vacía.
  • rango de fila: cuántos filas ocupa el widget; predeterminado 1.
  • pegajoso: qué intentar si la celda es más grande que el widget. Por defecto, con sticky=”, el widget se centra en su celda. sticky puede ser la concatenación de strings de cero o más de N, E, S, W, NE, NW, SE y SW, las direcciones de la brújula que indican los lados y las esquinas de la celda a la que se adhiere el widget.

A continuación se muestra la implementación del enfoque que se muestra arriba:

Python3

# Importing tkinter module
from tkinter import *       
 
# Creating a tkinter window
root = Tk()
 
# Initialize tkinter window
# with dimensions 300 x 250            
root.geometry('300x250')    
 
# Creating a Button
btn1 = Button(root, text = 'btn1 !',
              command = root.destroy)
btn1.grid(row = 0, column = 0)
 
# Creating a Button
btn2 = Button(root, text = 'btn2 !', command = root.destroy)
btn2.grid(row = 1, column = 1)
 
# Creating a Button
btn3 = Button(root, text = 'btn3 !', command = root.destroy)
btn3.grid(row = 2, column = 2)
 
# Creating a Button
btn3 = Button(root, text = 'btn4 !', command = root.destroy)
btn3.grid(row = 4, column = 4)
 
root.mainloop()

Producción:

A continuación, se muestra una aplicación simple para mostrar el movimiento de botones al azar en una GUI de tkinter:

Python3

# Importing tkinter module
from tkinter import *
# Importing random module
import random
 
# Creating a tkinter window
root = Tk()
 
# Initialize tkinter window with dimensions 300 x 250
root.geometry('300x250')
 
# Creating a Button
btn = Button(root, text = 'Click me !')
btn.pack()
 
# Defining method on click
def Clicked(event):
    x = random.randint(50,250)
    y = random.randint(50,200)
    btn.place(x=x, y=y)
     
     
# bind button
btn.bind("<Button-1>" ,Clicked)
btn.pack()
 
root.mainloop()

Producción:

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi 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 *