logo

Intercambio de Python

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

Tabla de contenidos



Para crear una aplicación Tkinter Python, sigue estos pasos básicos:

  1. Importar el módulo tkinter : Esto se hace como importar cualquier otro módulo en Pitón . Tenga en cuenta que en Python 2.x, el módulo se denomina 'Tkinter', mientras que en Python 3.x se denomina 'tkinter'.
  2. Crear la ventana principal (contenedor) : La ventana principal sirve como contenedor para todos los elementos de la GUI que agregará más adelante.
  3. Agregar widgets a la ventana principal : Puede agregar cualquier cantidad de widgets como botones, etiquetas, campos de entrada, etc., a la ventana principal para diseñar la interfaz como desee.
  4. Aplicar activadores de eventos a los widgets : Puede adjuntar activadores de eventos a los widgets para definir cómo responden a las interacciones del usuario.

Cree la primera aplicación GUI de Tkinter

Se utilizan dos métodos principales que el usuario debe recordar al crear la aplicación Python con GUI.

¿Qué meses hay en el tercer trimestre?

Tk()

Para crear una ventana principal, tkinter ofrece un método 'Tk(screenName=None, baseName=None, className='Tk', useTk=1)'. Para cambiar el nombre de la ventana, puede cambiar el nombre de clase al que desee. El código básico utilizado para crear la ventana principal de la aplicación es:



bucle principal()

Hay un método conocido con el nombre mainloop() que se utiliza cuando su aplicación está lista para ejecutarse. mainloop() es un bucle infinito que se utiliza para ejecutar la aplicación, esperar a que ocurra un evento y procesar el evento siempre que la ventana no esté cerrada.

Ejemplo

Python3
import tkinter m = tkinter.Tk() ''' widgets are added here ''' m.mainloop()>

Producción



imagen

Widget de Tkinter

Hay varios widgets que puedes poner en tu aplicación tkinter. Algunos de los widgets principales se explican a continuación:

1. Etiqueta

Se refiere al cuadro de visualización donde puede colocar cualquier texto o imagen que pueda actualizarse en cualquier momento según el código. La sintaxis general es:

w=Label(master, option=value) master is the parameter used to represent the parent window.>
Python3
from tkinter import * root = Tk() w = Label(root, text='GeeksForGeeks.org!') w.pack() root.mainloop()>

Producción

etiqueta

2. Botón

Para agregar un botón en su aplicación, se utiliza este widget. La sintaxis general es:

w=Button(master, option=value)>

master es el parámetro utilizado para representar la ventana principal. Hay varias opciones que se utilizan para cambiar el formato de los botones. Se puede pasar el número de opciones como parámetros separados por comas.Python3>

>
>

import tkinter as tk r = tk.Tk() r.title('Counting Seconds') button = tk.Button(r, text='Stop', width=25, command=r.destroy) button.pack() r.mainloop()>


Producción


3. Entrada

Se utiliza para ingresar la entrada de texto de una sola línea del usuario. Para la entrada de texto de varias líneas, se utiliza el widget de texto. La sintaxis general es:

w=Entry(master, option=value)>

master es el parámetro utilizado para representar la ventana principal. Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * master = Tk() Label(master, text='First Name').grid(row=0) Label(master, text='Last Name').grid(row=1) e1 = Entry(master) e2 = Entry(master) e1.grid(row=0, column=1) e2.grid(row=1, column=1) mainloop()>

Producción

compareto java

4. Botón de verificación

Seleccionar cualquier cantidad de opciones mostrando una cantidad de opciones a un usuario como botones de alternancia. La sintaxis general es:

w = CheckButton(master, option=value)>

Hay varias opciones que se utilizan para cambiar el formato de este widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * master = Tk() var1 = IntVar() Checkbutton(master, text='male', variable=var1).grid(row=0, sticky=W) var2 = IntVar() Checkbutton(master, text='female', variable=var2).grid(row=1, sticky=W) mainloop()>

Producción



5. Boton de radio

Se utiliza para ofrecer opciones de opción múltiple al usuario. Ofrece varias opciones al usuario y el usuario tiene que elegir una opción. La sintaxis general es:

w = RadioButton(master, option=value)>

Hay varias opciones que se utilizan para cambiar el formato de este widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * root = Tk() v = IntVar() Radiobutton(root, text='GfG', variable=v, value=1).pack(anchor=W) Radiobutton(root, text='MIT', variable=v, value=2).pack(anchor=W) mainloop()>

Producción

6. Cuadro de lista

Ofrece una lista al usuario de la cual el usuario puede aceptar cualquier número de opciones. La sintaxis general es:

w = Listbox(master, option=value) master is the parameter used to represent the parent window.>

Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * top = Tk() Lb = Listbox(top) Lb.insert(1, 'Python') Lb.insert(2, 'Java') Lb.insert(3, 'C++') Lb.insert(4, 'Any other') Lb.pack() top.mainloop()>

Producción


7. Barra de desplazamiento

Se refiere al controlador deslizante que se utilizará para implementar los widgets enumerados. La sintaxis general es:

w = Scrollbar(master, option=value) master is the parameter used to represent the parent window.>

Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * root = Tk() scrollbar = Scrollbar(root) scrollbar.pack(side=RIGHT, fill=Y) mylist = Listbox(root, yscrollcommand=scrollbar.set) for line in range(100): mylist.insert(END, 'This is line number' + str(line)) mylist.pack(side=LEFT, fill=BOTH) scrollbar.config(command=mylist.yview) mainloop()>

Producción

8. Menú

Sirve para crear todo tipo de menús que utiliza la aplicación. La sintaxis general es:

w = Menu(master, option=value) master is the parameter used to represent the parent window.>

Hay varias opciones que se utilizan para cambiar el formato de este widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * root = Tk() menu = Menu(root) root.config(menu=menu) filemenu = Menu(menu) menu.add_cascade(label='File', menu=filemenu) filemenu.add_command(label='New') filemenu.add_command(label='Open...') filemenu.add_separator() filemenu.add_command(label='Exit', command=root.quit) helpmenu = Menu(menu) menu.add_cascade(label='Help', menu=helpmenu) helpmenu.add_command(label='About') mainloop()>

Producción

9. Caja combo

El widget Combobox se crea utilizando la clase ttk.Combobox del módulo tkinter.ttk. Los valores del cuadro combinado se especifican mediante el parámetro de valores. El valor predeterminado se establece mediante el método set. Una función de controlador de eventos on_select está vinculada al cuadro combinado mediante el método de vinculación, que actualiza una etiqueta con el elemento seleccionado cada vez que se selecciona un elemento.

Python3
import tkinter as tk from tkinter import ttk def on_select(event): selected_item = combo_box.get() label.config(text='Selected Item: ' + selected_item) root = tk.Tk() root.title('Combobox Example') # Create a label label = tk.Label(root, text='Selected Item: ') label.pack(pady=10) # Create a Combobox widget combo_box = ttk.Combobox(root, values=['Option 1', 'Option 2', 'Option 3']) combo_box.pack(pady=5) # Set default value combo_box.set('Option 1') # Bind event to selection combo_box.bind('<>', on_select) raíz.mainloop()>

Producción

imagen2

10. Escala

Se utiliza para proporcionar un control deslizante gráfico que permite seleccionar cualquier valor de esa escala. La sintaxis general es:

w = Scale(master, option=value)master is the parameter used to represent the parent window.>

Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

alquilar mapa
Python3
from tkinter import * master = Tk() w = Scale(master, from_=0, to=42) w.pack() w = Scale(master, from_=0, to=200, orient=HORIZONTAL) w.pack() mainloop()>

Producción

11. Nivel superior

Este widget está controlado directamente por el administrador de ventanas. No necesita ninguna ventana principal para funcionar. La sintaxis general es:

w = TopLevel(master, option=value)>

Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * root = Tk() root.title('GfG') top = Toplevel() top.title('Python') top.mainloop()>

Producción

12. Mensaje

Se refiere al texto de varias líneas y no editable. Funciona igual que el de Label. La sintaxis general es:

w = Message(master, option=value) master is the parameter used to represent the parent window.>

Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * main = Tk() ourMessage = 'This is our Message' messageVar = Message(main, text=ourMessage) messageVar.config(bg='lightgreen') messageVar.pack() main.mainloop()>

Producción

13. Botón de menú

Es parte del menú de arriba hacia abajo que permanece en la ventana todo el tiempo. Cada botón de menú tiene su propia funcionalidad. La sintaxis general es:

w = MenuButton(master, option=value) master is the parameter used to represent the parent window.>

Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * top = Tk() mb = Menubutton ( top, text = 'GfG') mb.grid() mb.menu = Menu ( mb, tearoff = 0 ) mb['menu'] = mb.menu cVar = IntVar() aVar = IntVar() mb.menu.add_checkbutton ( label ='Contact', variable = cVar ) mb.menu.add_checkbutton ( label = 'About', variable = aVar ) mb.pack() top.mainloop()>

Producción

14. Barra de progreso

Aplicación Tkinter con un widget de barra de progreso y un botón para iniciar el progreso. Cuando se hace clic en el botón, la barra de progreso se llena hasta el 100% en un corto período, simulando una tarea que lleva tiempo completarse.

Python3
import tkinter as tk from tkinter import ttk import time def start_progress(): progress.start() # Simulate a task that takes time to complete for i in range(101): # Simulate some work time.sleep(0.05) progress['value'] = i # Update the GUI root.update_idletasks() progress.stop() root = tk.Tk() root.title('Progressbar Example') # Create a progressbar widget progress = ttk.Progressbar(root, orient='horizontal', length=300, mode='determinate') progress.pack(pady=20) # Button to start progress start_button = tk.Button(root, text='Start Progress', command=start_progress) start_button.pack(pady=10) root.mainloop()>

Producción

progreso

15. Caja giratoria

Es una entrada del widget 'Entrada'. Aquí, el valor se puede ingresar seleccionando un valor fijo de números. La sintaxis general es:

w = SpinBox(master, option=value)>

Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * master = Tk() w = Spinbox(master, from_=0, to=10) w.pack() mainloop()>

Producción:

16. Texto

Para editar un texto de varias líneas y darle formato de la forma en que debe mostrarse. La sintaxis general es:

w =Text(master, option=value)>

Hay varias opciones que se utilizan para cambiar el formato del texto. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * root = Tk() T = Text(root, height=2, width=30) T.pack() T.insert(END, 'techcodeview.com
BEST WEBSITE
') mainloop()>

Producción

17. Lienzo

Se utiliza para hacer dibujos y otros diseños complejos como gráficos, texto y widgets. La sintaxis general es:

w = Canvas(master, option=value) master is the parameter used to represent the parent window.>

Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * master = Tk() w = Canvas(master, width=40, height=60) w.pack() canvas_height=20 canvas_width=200 y = int(canvas_height / 2) w.create_line(0, y, canvas_width, y ) mainloop()>

salida

18. Ventana panorámica

Es un widget contenedor que se utiliza para manejar la cantidad de paneles dispuestos en él. La sintaxis general es:

w = PannedWindow(master, option=value)>

Master es el parámetro utilizado para representar la ventana principal. Hay varias opciones que se utilizan para cambiar el formato del widget. Se puede pasar el número de opciones como parámetros separados por comas. Algunos de ellos se enumeran a continuación.

Python3
from tkinter import * m1 = PanedWindow() m1.pack(fill=BOTH, expand=1) left = Entry(m1, bd=5) m1.add(left) m2 = PanedWindow(m1, orient=VERTICAL) m1.add(m2) top = Scale(m2, orient=HORIZONTAL) m2.add(top) mainloop()>

Producción

Opción de color en Tkinter

Este ejemplo demuestra el uso de varias opciones de color en los widgets de Tkinter, incluidos los colores de primer plano y de fondo activos, los colores de primer plano y de fondo, los colores de estado deshabilitados y los colores de selección. Cada widget del ejemplo muestra una opción de color diferente, lo que proporciona una representación visual de cómo estas opciones afectan la apariencia de los widgets.

Python3
import tkinter as tk root = tk.Tk() root.title('Color Options in Tkinter') # Create a button with active background and foreground colors button = tk.Button(root, text='Click Me', activebackground='blue', activeforeground='white') button.pack() # Create a label with background and foreground colors label = tk.Label(root, text='Hello, Tkinter!', bg='lightgray', fg='black') label.pack() # Create an Entry widget with selection colors entry = tk.Entry(root, selectbackground='lightblue', selectforeground='black') entry.pack() root.mainloop()>

Producción

2024-04-2516-50-47cortador-de-video-en-lineacom-ezgifcom-convertidor-de-video-a-gif

Obtenga más información para mejorar la fuente: Fuente Tkinter

Gestión de geometría

Tkinter también ofrece acceso a la configuración geométrica de los widgets que puede organizar los widgets en las ventanas principales. Hay principalmente tres clases de administrador de geometría.

método paquete()

Organiza los widgets en bloques antes de colocarlos en el widget principal.

Python3
import tkinter as tk root = tk.Tk() root.title('Pack Example') # Create three buttons button1 = tk.Button(root, text='Button 1') button2 = tk.Button(root, text='Button 2') button3 = tk.Button(root, text='Button 3') # Pack the buttons vertically button1.pack() button2.pack() button3.pack() root.mainloop()>

Producción


mini barra de herramientas excel

embalar

método de cuadrícula ()

Organiza los widgets en una cuadrícula (estructura similar a una tabla) antes de colocarlos en el widget principal.

Python3
import tkinter as tk root = tk.Tk() root.title('Grid Example') # Create three labels label1 = tk.Label(root, text='Label 1') label2 = tk.Label(root, text='Label 2') label3 = tk.Label(root, text='Label 3') # Grid the labels in a 2x2 grid label1.grid(row=0, column=0) label2.grid(row=0, column=1) label3.grid(row=1, column=0, columnspan=2) root.mainloop()>

Producción

red

método lugar()

Organiza los widgets colocándolos en posiciones específicas dirigidas por el programador.

Python3
import tkinter as tk root = tk.Tk() root.title('Place Example') # Create a label label = tk.Label(root, text='Label') # Place the label at specific coordinates label.place(x=50, y=50) root.mainloop()>

Producción

lugar