Foros Python

Versión completa: ¿Qué significan padding y parent en tkinter? (Notebook)
Actualmente estas viendo una versión simplificada de nuestro contenido. Ver la versión completa con el formato correcto.
Buenas, buenas.
Me pasaron un código para que modifique y contiene unas sentencias que no entiendo qué hacen.
Son las siguientes:

settings = {"TNotebook.Tab": {"configure": {"padding": [5, 1]}
¿Qué es "padding": [5, 1]? ¿Qué hace?


style.theme_create("mi_estilo", parent="alt")
Y ¿qué es parent="alt"?


He notado que, quitando ambas, el código no sufre modificación al momento de ejecutarse, por lo que no entiendo qué hacen y para qué sirven.
Hola, Diego.

"padding" hace referencia a los márgenes internos de un control, o sea, el espacio entre los extremos y el contenido del control (en este caso, un panel de pestañas). Que eso tenga efecto o no depende del tema que se esté usando. En Tk hay múltiples temas (= diseños) que determinan la apariencia de los controles y de la ventana, y en cada sistema operativo hay un tema por defecto. Podés ver una lista de temas acá: https://wiki.tcl-lang.org/page/List+of+ttk+Themes. Consecuentemente, esta línea

Código:
style.theme_create("mi_estilo", parent="alt")

lo que hace es crear un nuevo tema tomando como base el tema "alt", lo cual indica que todos los estilos que no se modifiquen tomarán su valor de este último tema.

Saludos
Perfecto, ahora, los parámetros que se les pasan al padding, ¿a qué hacen referencia? Me refiero a [5, 1], ¿a qué refiere el 5 y a qué el 1?
padding=[5, 1] indica 5 píxeles de espacio en los márgenes izquierdo y derecho y 1 pixel de espacio en los márgenes superior e inferior. También podrías usar una lista de cuatro elementos, en caso de que los márgenes izquierdo/derecho y superior/inferior no tengan el mismo tamaño. Por ejemplo, padding=[50, 100, 20, 1] establece el margen izquierdo en 50px, el superior en 100px, el derecho en 20px y el inferior en 1px.

Saludos
Muchas gracias, Francisco.