Panel de control de cambio de tamaño de ventana – Tkinter

Requisito previo: Tkinter

Python ofrece múltiples opciones para desarrollar una GUI (interfaz gráfica de usuario). De todos los métodos GUI, Tkinter es el método más utilizado. Es una interfaz estándar de Python para el kit de herramientas Tk GUI que se envía con Python. Python con Tkinter es la forma más rápida y sencilla de crear aplicaciones GUI.

En este artículo, aprenderemos cómo hacer un panel de control para cambiar el tamaño de la ventana que se usa para cambiar el tamaño de la ventana una vez que se inicializa.

Acercarse:

  • Crearemos dos ventanas; una ventana es un padre y otra es un niño.
  • Agregue un botón; cuando hacemos clic en un botón, se abrirá la ventana secundaria.
  • La ventana principal contiene tres controles deslizantes; ancho, alto y ambos controles deslizantes.
  • A medida que cambia el valor de la diapositiva, la geometría secundaria cambiará.

Entendamos la implementación paso a paso: –

Paso 1: crea una ventana normal de Tkinter

Python3

# Import Library
from tkinter import *
 
# Create Object
root = Tk()
 
# Set title
root.title("Controls")
 
# Set Geometry
root.geometry("400x500")
 
# Execute Tkinter
root.mainloop()

Producción:

Paso 2: Agregar botón , controles deslizantes y marco de etiquetas

Python3

# Import Library
from tkinter import *
from tkinter import ttk
 
# Create Object
root = Tk()
 
# Set title
root.title("Controls")
 
# Set Geometry
root.geometry("400x500")
 
# Make Button
launch_button = Button(root,
                       text = "launch Window")
launch_button.pack(pady = 10)
 
# Add Label Frames
width_frame = LabelFrame(root,
                         text = "Change width")
 
width_frame.pack(pady = 10)
 
height_frame = LabelFrame(root,
                          text = "change height")
height_frame.pack(pady = 10)
 
both_frame = LabelFrame(root,
                        text = "change both")
 
both_frame.pack(pady = 10)
 
# Add Scale bar
width_slider = ttk.Scale(width_frame,
                         from_ = 100,
                         to = 500,
                         orient = HORIZONTAL,
                         length = 200, value = 100)
 
width_slider.pack(pady = 10, padx = 20)
 
height_slider = ttk.Scale(height_frame,
                          from_ = 100, to = 500,
                          orient = VERTICAL,
                          length = 200, value = 100)
height_slider.pack(pady = 10, padx = 20)
 
both_slider = ttk.Scale(both_frame, from_ = 100,
                        to = 500, orient = HORIZONTAL,
                        length = 200, value = 100)
 
both_slider.pack(pady = 10,padx = 20)
 
# Execute Tkinter
root.mainloop()

Producción:-

Paso 3: Ahora crearemos cuatro funciones; una función es para un botón que abrirá la ventana secundaria y las otras tres para cambiar la geometría.

Utilice el método Toplevel() para crear una ventana secundaria.

Python3

# Open New Window
def launch():
    global second
    second = Toplevel()
    second.geometry("100x100")
 
# Change width
def width_slide(x):
    second.geometry(f"{int(width_slider.get())}x{int(height_slider.get())}")
 
# Change height
def height_slide(x):
    second.geometry(f"{int(width_slider.get())}x{int(height_slider.get())}")
 
# Change both width and height
def both_slide(x):
    second.geometry(f"{int(both_slider.get())}x{int(both_slider.get())}")

A continuación se muestra la implementación completa:

Python3

# Import Library
from tkinter import *
from tkinter import ttk
 
# Create Object
root = Tk()
# Set title
root.title("Controls")
# Set Geometry
root.geometry("400x500")
 
# Open New Window
def launch():
    global second
    second = Toplevel()
    second.geometry("100x100")
 
# Change width
def width_slide(x):
    second.geometry(f"{int(width_slider.get())}x{int(height_slider.get())}")
 
# Change height
def height_slide(x):
    second.geometry(f"{int(width_slider.get())}x{int(height_slider.get())}")
 
# Change both width and height
def both_slide(x):
    second.geometry(f"{int(both_slider.get())}x{int(both_slider.get())}")
 
# Make Button
launch_button = Button(root,
                       text = "launch Window",
                       command = launch)
 
launch_button.pack(pady = 10)
 
# Add Label Frames
width_frame = LabelFrame(root,
                         text = "Change width")
width_frame.pack(pady = 10)
 
height_frame = LabelFrame(root,
                          text = "change height")
height_frame.pack(pady = 10)
 
both_frame = LabelFrame(root,
                        text = "change both")
both_frame.pack(pady = 10)
 
# Add Scale bar
width_slider = ttk.Scale(width_frame,from_ = 100, to = 500,
                         orient = HORIZONTAL, length = 200,
                         command = width_slide,
                         value = 100)
 
width_slider.pack(pady = 10, padx = 20)
 
height_slider = ttk.Scale(height_frame, from_ = 100, to = 500,
                          orient = VERTICAL, length = 200,
                          command = height_slide,
                          value = 100)
height_slider.pack(pady = 10, padx = 20)
 
both_slider = ttk.Scale(both_frame, from_ = 100,to = 500,
                        orient = HORIZONTAL, length = 200,
                        command = both_slide, value = 100)
both_slider.pack(pady = 10, padx = 20)
 
# Execute Tkinter
root.mainloop()

Producción:

Publicación traducida automáticamente

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