[ Foro de Python ]

Treeview en Frame

17-Jun-2022 21:48
Invitado (Baldomero123)
0 Respuestas

Buenas tardes;
En la app que estoy haciendo he creado varios Treeviews que funcionan perfectamente; así como una frame adicional donde he instalado varios widgets y funciones que funcionan sin problemas. Pero cuando quiero crear un TreeView (tree3) en un contenedor / frame (miFrame3) adicional lo más que consigo es que me aparezca el encabezamiento de las columns y eso aunque empleo el mismo código (salvo en lo específico de la nueva frame /miFrame3) que me funciona perfectamente en la raíz
Si en la línea que está en negrita (la de insert…), pongo
insert(“”, 0, …) me aparece el encabezamieno de las columnas, pero no los datos de la BD;
pero si pongo
insert(“miFrame3”,0, …)
Me dice que “miFrame3 es un Item no definido”, a pesar de que sí que lo he definido varias veces. Y no aparece ni encabezamiento ni datos de la BD.
Pregunto: ¿qué estoy haciendo mal? Muchas gracias. Este es el código donde creo la frame (miFramee) e intento que se me presente el Treeview tree3:
def ordendia():  
  conn=sqlite3.connect('inversiones.db')
  cursorObj=conn.cursor()
  # tree3  en miFrame3
  global miFrame3
  miFrame3=Frame(raiz, width=880, height=500)
  miFrame3.pack(fill="both", expand=True)
  miFrame3.config(bg='light blue', relief="sunken", bd=25)
  lblOrdendia2=Label(miFrame3, text="Orden del día")
  lblOrdendia2.place(x=400, y=14)
  lblPdts1etapa=Label(miFrame3, text="PENDIENTES EN LA PRIMERA ETAPA”)
  lblPdts1etapa.place( x=300, y = 18 )  
   
  tree3=ttk.Treeview(miFrame3)
  registros=tree3.get_children()
  for elemento in registros:
     tree3.delete(elemento)
  try:
     cursorObj.execute("SELECT * FROM remesas WHERE  (etapa = '1' AND situac=’P’)
     for row in cursorObj:
       tree3.insert("miFrame3", 0, text=row[0], values=(row[1], row[4}, row[5], row[3], row[6]))
  except:
     pass
 
tree3=ttk.Treeview(height=20, columns=('#0', '#1', '#4','#5',’#3’,’#6’)
  tree3.place(x=0, y=200)
  tree3.column('#1', width=45)
  tree3.heading('#1', text="Etapa",anchor=CENTER)

  tree3.column('#2', width=65)  
  tree3.heading('#2', text="Inversor ",anchor=CENTER )  


  tree3.column('#4', width=120)
  tree3.heading('#4', text="Plataforma",anchor=CENTER )

  tree3.column('#5', width=120)  
  tree3.heading('#5', text="Banco ",anchor= E ) #

  tree3.column('#3', width=80)  
  tree3.heading('#3', text="Importe",anchor=CENTER )

  tree3.column('#6', width=100)
  tree3.heading('#6', text="Fecha or.",anchor=CENTER )

  tree3.pack()
  conn.commit()    




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)