es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo puedo agregar una función de búsqueda a un árbol de vista?

Quiero mostrar una fila que coincida con la entrada de todas mis casillas de entrada en el treeview. ¿Cómo puedo obtener los valores del treeview y comprobar si coincide con la entrada de una de las casillas y mostrar toda la fila? Aquí está mi código treeview.

tree = ttk.Treeview()
                books_data = pandas.read_csv("Lista de Libros - Hoja1 (3).csv")
                df_column = books_data.columns.values
                print(len(df_column))
                print(df_column)
                tree["columna"] = list(books_data.columns)
                tree["mostrar"] = "cabeceras"

                for columna in tree['columna']:
                    tree.heading(columna,text=columna)

                df_rows = books_data.to_numpy().tolist()
                for fila in df_rows:
                    tree.insert("","fin",values=fila)
                tree.grid(columna=0,fila=4,columnspan=8)
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para obtener los valores del treeview y comprobar si coincide con la entrada de una de las cajas, se puede utilizar el método item del treeview para iterar a través de cada fila y comparar los valores con el texto de las cajas de entrada. Aquí hay un ejemplo de código para mostrar toda la fila que coincide con la entrada de todas las cajas de entrada:

    def buscar():
        # Obtener el texto de las cajas de entrada
        titulo = caja_titulo.get()
        autor = caja_autor.get()
        editorial = caja_editorial.get()
    
        # Iterar a través de cada fila del treeview
        for item in tree.get_children():
            fila = tree.item(item)['values']
            # Comprobar si los valores coinciden con el texto de las cajas de entrada
            if titulo in fila and autor in fila and editorial in fila:
                # Mostrar toda la fila
                print(fila)
    

    Puede llamar a esta función buscar cuando el usuario hace clic en un botón o presiona la tecla de retorno, dependiendo de cómo desee activar la búsqueda. Tenga en cuenta que este es un ejemplo simple y puede necesitar modificarlo según sus requisitos específicos.

Comments are closed.