¿El Scrollbar de Python Tkinter es demasiado pequeño y no se puede ver?
¿Alguien puede explicar por qué la barra de desplazamiento no funciona en mi código de Python?
Ver la sección “#add_scroll_bar”. Deseo que la barra de desplazamiento esté al lado del widget treeview. Por lo tanto, la barra de desplazamiento solo debe desplazarse a través del contenido, pero no del marco tkinter.
Ver el código Python a continuación:
import requests
import json
import datetime
import tkinter as tk
from tkinter import ttk
abrir interfaz tkinter
root = tk.Tk()
#cambiar la interfaz GUID
longitud=600
ancho=450
root.geometry(str(longitud)+’x’+str(ancho))
root.title(‘Helium Earning Tracker’)
etiqueta
x1=50
y1=30
tk.Label(root,text=’Dirección del minero de Helium’).place(x=x1,y=y1,anchor=’w’)
tk.Label(root,text=’Bloques’).place(x=x1,y=(y12)+20,anchor=’w’)
tk.Label(root,text=’Resultado’).place(x=x1,y=(y14)+20,anchor=’w’)
columnas=[‘Fecha’,’Cantidad de HNT’,’Precio de HNT’,’Ganancias diarias’]
agregar cuadro de datos
tvw=ttk.Treeview(root,columns=columnas,show=’headings’)
tvw.place(x=x1,y=(y1*9)+20,anchor=’w’)
for c1 in range(len(columnas)):
tvw.heading(columnas[c1],text=str(columnas[c1]))
tvw.column(columnas[c1],width=len(columnas[c1])*14)
contactos = []
for n in range(1, 100):
contactos.append((f’primero {n}’, f’último {n}’, f’email{n}@example.com’))
agregar datos al treeview
for contacto in contactos:
tvw.insert(”, tk.END, values=contacto)
añadir barra de desplazamiento
scrollbar = ttk.Scrollbar(root,orient=’vertical’,command=tvw.yview)
tvw.configure(yscroll=scrollbar.set)
scrollbar.pack(side=’left’,fill=’y’)
root.mainloop()
davy.ai
Parece que la barra de desplazamiento no funciona en el código de Python proporcionado porque la barra de desplazamiento no está ubicada junto al widget
treeview
. En su lugar, está ubicada en el lado izquierdo del marco tkinter. Para solucionar este problema, se pueden seguir los siguientes pasos:scrollbar.pack(side='left', fill='y')
del código.scrollbar
al widgettreeview
utilizando el métodotvw.config(yscrollcommand=scrollbar.set)
.treeview
y el widgetscrollbar
en un marco común.pack()
para la gestión de geometría.El código actualizado con estos cambios se vería así:
Estos cambios deberían colocar el widget
scrollbar
junto al widgettreeview
y hacerlo funcional para desplazarse a través del contenido del widgettreeview
.