jueves, 16 de abril de 2020

TkInter - de marciano a humano- seccion 7 - Button widget (widget para crear botones)

 

Para crear un botón en una ventana o marco de nivel superior llamado padre:

w=tk.Button(parent, opction=value, ...)

El constructor devuelve el nuevo widget de botón.

Tabla 5. Opciones de widget de botones

activebackground

Color de fondo cuando el botón está debajo del cursor. ejemplo:

activebackground=’#F50743’

Ejemplo sin el cursor arriba


Ejemplo con el cursor arriba:

IMPORTANTE: no hay que olvidarse del #. Consulte la seccion 5.3.

activeforeground

Color de primer plano cuando el botón está debajo del cursor. ejemplo:

activeforeground=’#F50743’

Ejemplo sin el cursor arriba:

Ejemplo con el cursor arriba:

anchor

Es donde se coloca el texto dentro del botón. Consulte la Sección 5.5. Los valores posibles son:

NW

N

NE

W

CENTER

E

SW

S

SE

Ejemplo con anchor="nw"

Ejemplo con anchor="n"

Ejemplo con anchor="ne"

Ejemplo con anchor="w"

Ejemplo con anchor="center"

Ejemplo con anchor="e"

Ejemplo con anchor="sw"

Ejemplo con anchor="s"

Ejemplo con anchor="se"

bd o borderwidth

Ancho del borde alrededor del exterior del botón, ver Sección 5.1. El valor predeterminado es dos píxeles pero en este ejemplo lo vemos exagerado en 15:

borderwidth=15 o bd=15 (puede escribirse de las dos formas)

bg o background

Color de fondo normal, igual que el caso anterior se puede escribir de dos formas:

background="#38EB5C"

 o bg="#38EB5C"

bitmap

Nombre de uno de los mapas de bits estándar para mostrar en el botón (en lugar de texto). los siguientes ejemplos:

bitmap="error"

bitmap="gray75"

bitmap="gray50"

bitmap="gray25"

bitmap="gray12"

bitmap="hourglass"

bitmap="info"

bitmap="questhead"

bitmap="question"

bitmap="warning"

dan como resultado lo siguiente:

command

Función o método a llamar cuando se hace clic en el botón. ejemplo:

command=funcX()

cursor

Selecciona el cursor que se mostrará cuando el mouse esté sobre el botón. Ver Sección 5.8.

default

Los botones pueden estar activados o desactivados tk.NORMAL es el valor predeterminado, use tk.DISABLED si el botón debe ser inicialmente deshabilitado (atenuado, no responde a los clics del mouse).

Disabledforeground

Color de primer plano utilizado cuando el botón está desactivado.

fg o foreground

Color normal de primer plano (texto).

font

Fuente de texto que se utilizará para la etiqueta del botón.

height

Altura del botón en líneas de texto (para botones de texto) o píxeles (para imágenes).

highlightbackground

Color del foco resaltado cuando el widget no tiene foco.

highlightcolor

El color del foco resaltado cuando el widget tiene foco.

highlightthickness

Espesor del foco resaltado.

image

Imagen que se mostrará en el botón (en lugar de texto).

justify

Cómo mostrar varias líneas de texto:

tk.LEFT para justificar a la izquierda cada línea

tk.CENTER para centrarlos

tk.RIGHT para justificar a la derecha cada línea.

overrelief

El estilo de relieve que se utilizará mientras el mouse está en el botón, su valor por defecto es tk.REISED. Consulte la Sección 5.6.

padx

Relleno adicional a la izquierda y a la derecha del texto. Consulte la Sección 5.1 para los posibles valores de relleno.

pady

Relleno adicional encima y debajo del texto.

relief

Especifica el tipo de relieve para el botón (consulte la Sección 5.6). El valor predeterminado es tk.RAISED.

repeatdelay

Ver el intervalo de repetición, a continuación.

repeatinterval

Normalmente, un botón se dispara solo una vez cuando el usuario suelta el botón del mouse.

Si desea que el botón se active a intervalos regulares siempre que el botón del mouse se mantiene presionada, establezca esta opción en un número de milisegundos que se utilizará entre se repite y establece el retraso de repetición en la cantidad de milisegundos que esperará antes de comenzar a repetir. Por ejemplo, si especifica repeatdelay=500, repeatinterval=100 el botón se disparará después de medio segundo, y cada décima de segundo después, hasta que el usuario suelte el botón del mouse. Si el usuario no mantiene pulsado el botón del ratón, al menos 500 milisegundos, el botón se disparará normalmente.

state

Establezca esta opción en tk.DISABLED para atenuar el botón y hacer que no se elimine. Tiene el valor tk.ACTIVE cuando el mouse está sobre él. El valor predeterminado es tk.NORMAL.

takefocus

Normalmente, el enfoque del teclado visita los botones, consulte la Sección 53, y un carácter de espacio actúa igual que un mouse haga clic, "presionando" el botón. Puede establecer la opción de enfoque automático en cero para evite que el foco visite el botón.

text

Texto que se muestra en el botón. Use líneas nuevas internas para mostrar texto múltiple líneas.

textvariable

Una instancia de StringVar() que está asociada con el texto en este botón. Si se cambia la variable, el nuevo valor se mostrará en el botón de forma automática. Consulte la Sección 52.

underline

El valor predeterminado es -1, lo que significa que ningún carácter del texto en el botón será subrayada. Si no es negativo, el carácter de texto correspondiente estará subrayado. Por ejemplo, underline=1 subrayaría el segundo carácter del texto del botón.

width

Ancho del botón en letras (si se muestra texto) o píxeles (si se muestra un imagen).

Wraplength

Si este valor se establece en un número positivo, las líneas de texto se ajustarán para ajustarse dentro de esta longitud. Para conocer los posibles valores, consulte la Sección 5.1.


Métodos en objetos Button:

.flash()

Hace que el botón parpadee varias veces entre los colores activos y normales. Deja el botón en el estado original. Ignorado si el botón está deshabilitado.

.invoke()

Llama a la devolución de llamada de comando del botón y devuelve lo que devuelve esa función. No tiene ningún efecto si el botón está desactivado o no hay devolución de llamada.

Hasta el próximo jueves, salud y saludos!
Mauricio José Tobares

No hay comentarios:

Publicar un comentario

TkInter - de marciano a humano - sección 13 - El Widget LabelFrame

  13 El widget LabelFrame El widget LabelFrame al igual que el widget Frame es un contenedor espacial, un área rectangular que puede...