2017-10-01 3 views
0

Ma barre de défilement trop longtemps, je veux que ce soit la même taille que le texte:barre de défilement est trop long

enter image description here

mon code:

self.title('Canvas') 
self.geometry('400x600') 
canvas = tk.Canvas(self, bg='white',width=500,height=500, scrollregion=(0, 0, 400, 25000)) 
canvas.pack(fill='both', expand=True) 
canvas.update_idletasks() 

vbar = tk.Scrollbar(canvas, orient='vertical') 
vbar.pack(side='right', fill='y') 
vbar.config(command=canvas.yview) 
canvas.config(yscrollcommand=vbar.set) 

Comment puis-je corriger il?

+0

J'ai 0 expérience avec python, mais scrollregion = (0, 0, 400, 25000) est-il correct? –

Répondre

0

Votre barre de défilement verticale est si longue que vous définissez scrollregion=(0, 0, 400, 25000) ce qui signifie que vous faites défiler y entre 0 et 25000.

Pour adapter le scrollregion au contenu de la toile, vous pouvez faire (après avoir mis tout ce que vous voulez à l'intérieur du toile):

canvas.configure(scrollregion=canvas.bbox('all'))

canvas.bbox('all') renvoie la surface de la toile qui contient des éléments.