tkinter
Personaliza los estilos ttk.
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:
Nota: Para generar la imagen anterior, debe agregar / cambiar las líneas de código mencionadas anteriormente en el ejemplo Treeview: Basic ejemplo .