Python 3 - Botón de menú Tkinter
Un botón de menú es la parte de un menú desplegable que permanece en la pantalla todo el tiempo. Cada botón de menú está asociado con un widget de menú que puede mostrar las opciones para ese botón de menú cuando el usuario hace clic en él.
Sintaxis
Aquí está la sintaxis simple para crear este widget:
w = Menubutton ( master, option, ... )
Parámetros
master - Esto representa la ventana principal.
options- Aquí está la lista de opciones más utilizadas para este widget. Estas opciones se pueden utilizar como pares clave-valor separados por comas.
No Señor. | Opción y descripción |
---|---|
1 | activebackground El color de fondo cuando el mouse está sobre el botón de menú. |
2 | activeforeground El color de primer plano cuando el mouse está sobre el botón de menú. |
3 | anchor Esta opción controla dónde se coloca el texto si el widget tiene más espacio del que necesita el texto. El valor predeterminado es anchor = CENTER, que centra el texto. |
4 | bg El color de fondo normal que se muestra detrás de la etiqueta y el indicador. |
5 | bitmap Para mostrar un mapa de bits en el botón de menú, establezca esta opción en un nombre de mapa de bits. |
6 | bd El tamaño del borde alrededor del indicador. El valor predeterminado es 2 píxeles. |
7 | cursor El cursor que aparece cuando el mouse está sobre este botón de menú. |
8 | direction Establecer dirección = IZQUIERDA para mostrar el menú a la izquierda del botón; use direction = RIGHT para mostrar el menú a la derecha del botón; o use direction = 'above' para colocar el menú encima del botón. |
9 | disabledforeground El color de primer plano que se muestra en este botón de menú cuando está desactivado. |
10 | fg El color de primer plano cuando el mouse no está sobre el botón de menú. |
11 | height La altura del botón de menú en líneas de texto (¡no en píxeles!). El valor predeterminado es ajustar el tamaño del botón de menú a su contenido. |
12 | highlightcolor Color que se muestra en el resaltado del foco cuando el widget tiene el foco. |
13 | image Para mostrar una imagen en este botón de menú, |
14 | justify Esta opción controla dónde se ubica el texto cuando el texto no llena el botón de menú: use justify = LEFT para justificar el texto a la izquierda (este es el valor predeterminado); use justify = CENTER para centrarlo, o justify = RIGHT para justificar a la derecha. |
15 | menu Para asociar el botón de menú con un conjunto de opciones, establezca esta opción en el objeto Menú que contiene esas opciones. Ese objeto de menú debe haber sido creado pasando el botón de menú asociado al constructor como su primer argumento. |
dieciséis | padx Cuánto espacio dejar a la izquierda y a la derecha del texto del botón de menú. El valor predeterminado es 1. |
17 | pady Cuánto espacio dejar arriba y debajo del texto del botón de menú. El valor predeterminado es 1. |
18 | relief Selecciona efectos de sombreado de bordes tridimensionales. El valor predeterminado es LEVANTADO. |
19 | state Normalmente, los botones de menú responden al ratón. Establezca state = DISABLED para atenuar el botón de menú y hacer que no responda. |
20 | text Para mostrar texto en el botón de menú, establezca esta opción en la cadena que contiene el texto deseado. Las líneas nuevas ("\ n") dentro de la cadena provocarán saltos de línea. |
21 | textvariable Puede asociar una variable de control de la clase StringVar con este botón de menú. Configurar esa variable de control cambiará el texto mostrado. |
22 | underline Normalmente, no aparece ningún subrayado debajo del texto en el botón de menú. Para subrayar uno de los caracteres, establezca esta opción en el índice de ese carácter. |
23 | width El ancho del widget en caracteres. El valor predeterminado es 20. |
24 | wraplength Normalmente, las líneas no se ajustan. Puede establecer esta opción en varios caracteres y todas las líneas se dividirán en pedazos que no superen ese número. |
Ejemplo
Pruebe el siguiente ejemplo usted mismo:
# !/usr/bin/python3
from tkinter import *
import tkinter
top = Tk()
mb = Menubutton ( top, text = "condiments", relief = RAISED )
mb.grid()
mb.menu = Menu ( mb, tearoff = 0 )
mb["menu"] = mb.menu
mayoVar = IntVar()
ketchVar = IntVar()
mb.menu.add_checkbutton ( label = "mayo",
variable = mayoVar )
mb.menu.add_checkbutton ( label = "ketchup",
variable = ketchVar )
mb.pack()
top.mainloop()
Resultado
Cuando se ejecuta el código anterior, produce el siguiente resultado: