Buscar..


Introducción

El estilo de los nuevos widgets ttk es uno de los aspectos más poderosos de ttk. Además del hecho de que es una forma de trabajar completamente diferente a la del paquete tk tradicional, permite realizar un gran grado de personalización en tus widgets.

Personaliza una vista de árbol

Tomando Treeview: Ejemplo básico , se puede mostrar cómo personalizar una vista de árbol básica.

En este caso, creamos un estilo "mystyle.Treeview" con el siguiente código (vea los comentarios para comprender lo que hace cada línea):

style = ttk.Style()
style.configure("mystyle.Treeview", highlightthickness=0, bd=0, font=('Calibri', 11)) # Modify the font of the body
style.configure("mystyle.Treeview.Heading", font=('Calibri', 13,'bold')) # Modify the font of the headings
style.layout("mystyle.Treeview", [('mystyle.Treeview.treearea', {'sticky': 'nswe'})]) # Remove the borders

Entonces, el widget se crea dando el estilo anterior:

tree=ttk.Treeview(master,style="mystyle.Treeview")

Si desea tener un formato diferente dependiendo de las filas, puede hacer uso de tags :

tree.insert(folder1, "end", "", text="photo1.png", values=("23-Jun-17 11:28","PNG file","2.6 KB"),tags = ('odd',))
tree.insert(folder1, "end", "", text="photo2.png", values=("23-Jun-17 11:29","PNG file","3.2 KB"),tags = ('even',))
tree.insert(folder1, "end", "", text="photo3.png", values=("23-Jun-17 11:30","PNG file","3.1 KB"),tags = ('odd',))

Luego, por ejemplo, se puede asociar un color de fondo a las etiquetas:

tree.tag_configure('odd', background='#E8E8E8')
tree.tag_configure('even', background='#DFDFDF')

El resultado es una vista de árbol con fuentes modificadas tanto en el cuerpo como en los encabezados, sin bordes y colores diferentes para las filas:

introduzca la descripción de la imagen aquí

Nota: Para generar la imagen anterior, debe agregar / cambiar las líneas de código mencionadas anteriormente en el ejemplo Treeview: Basic ejemplo .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow