Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Poner un scrollbar en un Treeview en tkinter
#1
Hola Francisco ¿Cómo estas?,
me podría guiar para hacer lo que dice el enunciado, probé poniendo mas productos
de lo que se pueda visualizar pero la barra no aparece si en cambio con la ruedita del
mouse se mueven en ambas direcciones.-
Coste que estoy estudiando el tema con tu tutorial que por cierto es el mas completo,
pero parece no hablar del tema scrollbar.-

Código:
from tkinter import *
import tkinter  as tk
from tkinter import ttk

root = tk.Tk()
root.title('Ejemplos de tablas')
root.geometry('600x300')
#root['bg']='#fb0'

tv = ttk.Treeview(root, columns=("col1", "col2"))
tv.column("#0", width=200)
tv.column("col1", width=80, anchor=CENTER)
tv.column("col2", width=80, anchor=CENTER)


tv.heading("#0", text="Producto", anchor=CENTER)
tv.heading("col1", text="Precio", anchor=CENTER)
tv.heading("col2", text="Stock", anchor=CENTER)

tv.insert("", END, text="Leche Ylolay TB x 1 litro", values=("130.50", "29"))
tv.insert("", END, text="Tomate Arcor lata x 410 grs.", values=("106.00", "48"))
tv.insert("", END, text="Aceite Zanoni botella x 900 cc.", values=("230.00", "11"))

tv.pack()

root.mainloop()

Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Responder
#2
Hola, Daniel.

Sí, faltaría agregarle al tutorial algo sobre el scrollbar. Se resuelve usando ttk.Scrollbar (podés ver un ejemplo acá). En este caso sería asi:

Código:
tv = ttk.Treeview(root, columns=("col1", "col2"))
tv.column("#0", width=200)
tv.column("col1", width=80, anchor=CENTER)
tv.column("col2", width=80, anchor=CENTER)
tv.heading("#0", text="Producto", anchor=CENTER)
tv.heading("col1", text="Precio", anchor=CENTER)
tv.heading("col2", text="Stock", anchor=CENTER)

# Configurar barra de desplazamiento.
scrollbar = ttk.Scrollbar(tv, orient=tk.VERTICAL)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
tv.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=tv.yview)

# Agregar algunos elementos adicionales.
for i in range(20):
    tv.insert("", END, text="Leche Ylolay TB x 1 litro", values=("130.50", "29"))
    tv.insert("", END, text="Tomate Arcor lata x 410 grs.", values=("106.00", "48"))
    tv.insert("", END, text="Aceite Zanoni botella x 900 cc.", values=("230.00", "11"))

# Esto es necesario para que la vista de árbol mantenga su tamaño luego
# de configurar el scrollbar.
tv.pack(expand=True, fill=tk.BOTH)

root.mainloop()

Saludos
¡No te pierdas nuestro curso oficial en Udemy para aprender Python, bases de datos SQL, orientación a objetos, tkinter y mucho más!

También ofrecemos consultoría profesional de desarrollo en Python para personas y empresas.
Responder
#3
Thumbs Up 
Hola Francisco , hola gente ¿Cómo están?.
Mil disculpas x no agradecer antes lo que pasa que estoy haciendo algunas practicas
y es tanto el entusiasmo que casi pierdo noción de todo lo que me rodea.-
Francisco como siempre funciona a la perfección, gracias.

Slds. Daniel ☕☕☕
abraza las cosas y personas malas como si fueran tu mas preciada joya,Son tus mas grandes maestros de paciencia sabiduría y amor y cuando lo abrazas dejan de causar dolor.-
Responder


Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)