El paquete Tkinter es la GUI (interfaz gráfica de usuario) estándar para Python, que proporciona una interfaz poderosa para el kit de herramientas Tk GUI. En este tutorial, esperamos que los lectores conozcan los conceptos de Python y el módulo tkinter.
Menú de opciones
En este tutorial, nuestro enfoque principal es crear un menú de opciones usando tkinter en python. Como sugiere el nombre, el menú de opciones es una lista de opciones para el usuario en un lenguaje sencillo. Esto se puede lograr usando la clase OptionMenu, que crea un menú emergente y muestra las opciones que el usuario puede aprovechar.
podemos crear un menú de opciones inicializando el constructor de esa clase.
Sintaxis: OptionMenu(padre, variable, opción_1, opción_2, opción_3, …)
- parent: este es un objeto principal que también se denomina objeto maestro. Su función principal es crear la ventana para la GUI y también mantener otros widgets utilizados en el programa.
- variable: este es el nombre predeterminado que debe mostrarse en el menú de opciones.
- elección_1, elección_2, elección_3, …- Estas son la lista real de opciones que están disponibles para el usuario.
Como OptionMenu es una clase, obviamente habrá algunos métodos en ella. Estudiemos algunos métodos uno por uno.
- método get(): este método de OptionMenu devuelve el valor que está actualmente seleccionado en el menú de opciones.
- Método mainloop(): este método no solo es parte de la clase OptionMenu, sino también parte del paquete completo tkinter. Su función es combinar todos los widgets en nuestro programa antes de ejecutarlo y, por lo tanto, usarlos al final cuando hayamos terminado con nuestro código.
- Método place(): este método mantiene todos los widgets en la posición especificada por el programador.
- Método pack(): este método ayuda a organizar el menú de opciones en una posición específica.
Veamos ahora algunos ejemplos que aclararán nuestros conceptos.
Este es un ejemplo básico para crear un menú de opciones simple.
Ejemplo 1:
Python3
# Importing the tkinter module using import keyword from tkinter import * # Initialize parent object or master object as "parent" parent = Tk() # passing master object as parameter and set "COLOURS" as # the name of the OptionMenu using set() method. variable = StringVar(parent) variable.set("COLOURS") # Constructor of OptionMenu class initialized by giving # the parameters as master object, variable name and the # list of options in the menu. option_menu = OptionMenu(parent, variable, "Yellow", "Blue", "Green", "Purple", "Black", "White") # Using pack() method in OptionMenu class to arrange the # option menu. option_menu.pack() # Using mainloop() method from OptionMenu class before we # run the code. parent.mainloop()
Producción:
Ejemplo 2:
Python3
# Import tkinter using import keyword import tkinter as tk # set the master object in parent variable parent = tk.Tk() # Title for our window parent.title("Geeksforgeeks- OptionMenu") # Creating a Option Menu for AGE # Set the variable for AGE and create the list # of options by initializing the constructor # of class OptionMenu. Age_Variable = tk.StringVar(parent) Age_Variable.set("Age") Age_Option = tk.OptionMenu(parent, Age_Variable, "below 14", "15", "16", "17", "above 18") Age_Option.pack() # Creating a Option Menu for GENDER # Set the variable for GENDER and create the list # of options by initializing the constructor # of class OptionMenu. Gender_Variable = tk.StringVar(parent) Gender_Variable.set("Gender") Gender_Option = tk.OptionMenu(parent, Gender_Variable, "Male", "Female") Gender_Option.pack() # Creating a Option Menu for HOBBY # Set the variable for HOBBY and create the list # of options by initializing the constructor # of class OptionMenu. Hobby_Variable = tk.StringVar(parent) Hobby_Variable.set("Hobby") Hobby_Option = tk.OptionMenu(parent, Hobby_Variable, "Dance", "Code", "Sing", "Draw") Hobby_Option.pack() # Combining all the widgets used in the # program before running it parent.mainloop()
Producción:
Publicación traducida automáticamente
Artículo escrito por zawaresumedha y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA