15-07-2023, 09:34 AM
Buenas, comunidad. Estoy teniendo inconvenientes al seleccionar un ítem de un treeview y creo que todo pasa por el estilo.
El código de la vista es el siguiente:
Y el código del modelo es:
Me he dado cuenta que si comento la línea style.theme_use("mi_estilo") pierdo los estilos pero puedo seleccionar ítems del treeview. En cambio si la dejo tal y como está, no puedo.
Y no sé cómo solucionarlo. Espero me ayuden.
Gracias.
El código de la vista es el siguiente:
Código:
import tkinter
from tkinter import ttk
import modelo
root=tkinter.Tk()
root.geometry("1200x660")
style = ttk.Style()
settings = {"TNotebook.Tab": {"configure": {"padding": [5, 1],
"background": "deep pink"
},
"map": {"background": [("selected", "pink"),
("active", "hot pink")],
"foreground": [("selected", "gray26"),
("active", "#ffffff")],
}
}
}
style.theme_create("mi_estilo", parent="alt", settings=settings)
style.theme_use("mi_estilo")
hojas = ttk.Notebook(root)
hojas.pack(fill="both", expand="yes")
pesta0 = tkinter.Frame(hojas, background="pink")
hojas.add(pesta0, text="Catálogo")
tree = ttk.Treeview(pesta0)
tree["columns"] = ("col1", "col2", "col3", "col4", "col5")
tree.column("#0", width=40)
tree.column("#1", width=420, anchor="center")
tree.column("#2", width=300, anchor="center")
tree.column("#3", width=250, anchor="center")
tree.column("#4", width=95, anchor="center")
tree.column("#5", width=65, anchor="center")
tree.heading("#0", text="Id #", anchor="center")
tree.heading("#1", text="COSA1", anchor="center")
tree.heading("#2", text="COSA2", anchor="center")
tree.heading("#3", text="COSA3", anchor="center")
tree.heading("#4", text="COSA4", anchor="center")
tree.heading("#5", text="COSA5", anchor="center")
tree.place(x=10, y=400, height=100)
consxest = tkinter.Button(pesta0, text="Estado", background="light pink", foreground="DeepPink4", font=("Courier", 11, "bold"), command= lambda: modelo.consxestado(tree))
consxest.place(x=240, y=270)
root.mainloop()
Y el código del modelo es:
Código:
def consxestado(tree):
tree.insert("", "end", text="0", values=("1", "2", "3", "4", "5"))
tree.insert("", "end", text="6", values=("7", "8", "9", "10", "11"))
Me he dado cuenta que si comento la línea style.theme_use("mi_estilo") pierdo los estilos pero puedo seleccionar ítems del treeview. En cambio si la dejo tal y como está, no puedo.
Y no sé cómo solucionarlo. Espero me ayuden.
Gracias.