22-09-2024, 12:37 AM
Buenas, gente. Hacía bastante que no recurría a ustedes y eso es bueno, porque me venía saliendo todo. Pero llegó el día que no y aquí estoy nuevamente.
Estoy intentando poner un scroll horizontal en un treeview y buceando en el foro, encontré una consulta similar en donde se sugirió meter el tree y el scroll en un frame ( Poner scrollbar horizontal en treeview (tkinter) (recursospython.com) ) y me decanté por esta opción (entre otras que estuve analizando). El scrollbar aparece, pero no está funcionando (cuando toco los botones, cuando intento correr el botón de la barra, no se desplaza horizontalmente para mostrar la información de toda la línea).
Les dejo el código aquí para ver si pueden ayudarme con esto.
Al frame lo hice más angosto que al tree, para simular un tree que exceda los límites del frame por longitud de sus líneas.
Bueno, espero puedan darme una mano con esto.
Saludos y gracias de antemano.
Estoy intentando poner un scroll horizontal en un treeview y buceando en el foro, encontré una consulta similar en donde se sugirió meter el tree y el scroll en un frame ( Poner scrollbar horizontal en treeview (tkinter) (recursospython.com) ) y me decanté por esta opción (entre otras que estuve analizando). El scrollbar aparece, pero no está funcionando (cuando toco los botones, cuando intento correr el botón de la barra, no se desplaza horizontalmente para mostrar la información de toda la línea).
Les dejo el código aquí para ver si pueden ayudarme con esto.
Código:
from tkinter import *
from tkinter import Tk
from tkinter import ttk
root = Tk()
root.geometry("680x420")
frame_tree = LabelFrame(root, bg="DodgerBlue4", highlightbackground="dark khaki", highlightthickness=1)
frame_tree.place(x=10, y=20, width=410,height=255)
tree = ttk.Treeview(frame_tree)
tree["columns"] = ("col1", "col2", "col3", "col4", "col5")
tree.column("#0", width=36)
tree.column("#1", width=150, anchor="center")
tree.column("#2", width=140, anchor="center")
tree.column("#3", width=66, anchor="center")
tree.column("#4", width=66, anchor="center")
tree.column("#5", width=40, anchor="center")
tree.heading("#0", text="Legajo", anchor="center")
tree.heading("#1", text="Apellido", anchor="center")
tree.heading("#2", text="Nombre", anchor="center")
tree.heading("#3", text="F. Ingreso", anchor="center")
tree.heading("#4", text="Categoría", anchor="center")
tree.heading("#5", text="Status", anchor="center")
tree.place(x=0, y=10, width=810, height=150)
treeXScroll = ttk.Scrollbar(frame_tree, orient=HORIZONTAL)
treeXScroll.set(0.2, 0.5)
treeXScroll.configure(command=tree.yview)
treeXScroll.place(x=0, y=90, width=410)
root.mainloop()
Al frame lo hice más angosto que al tree, para simular un tree que exceda los límites del frame por longitud de sus líneas.
Bueno, espero puedan darme una mano con esto.
Saludos y gracias de antemano.