Sto provando a far scorrere una tela. Tuttavia, quando tento di impostare le barre di scorrimento per lavorare con la tela, tkinter sembra ignorare completamente le dimensioni che avevo inizialmente impostato per la tela. Ho provato a riempirli tutti in una cornice, impostando la tela per riempire la cornice e quindi impostando la dimensione della cornice, ma questo presenta lo stesso problema a meno che non imposti la cornice per riempire la finestra, che non è quello che voglio . Fondamentalmente, voglio una tela di dimensioni fisse con barre di scorrimento su di essa. Il mio codice attuale assomiglia a questo (in Python 3.1):python e tkinter: utilizzo di barre di scorrimento su una tela
from tkinter import *
root=Tk()
frame=Frame(root,width=300,height=300)
frame.grid(row=0,column=0)
canvas=Canvas(frame,bg='#FFFFFF',width=300,height=300,scrollregion=(0,0,500,500))
hbar=Scrollbar(canvas,orient=HORIZONTAL)
hbar.pack(side=BOTTOM,fill=X)
hbar.config(command=canvas.xview)
vbar=Scrollbar(canvas,orient=VERTICAL)
vbar.pack(side=RIGHT,fill=Y)
vbar.config(command=canvas.yview)
canvas.config(width=300,height=300)
canvas.config(xscrollcommand=hbar.set, yscrollcommand=vbar.set)
canvas.pack(side=LEFT,expand=True,fill=BOTH)
root.mainloop()
Perché dobbiamo imballare la tela per ultimo? Ho notato che quando impacco la tela prima di qualsiasi barra di scorrimento finisce per sovrapporre la barra di scorrimento orizzontale - Ho appena iniziato a usare tkinter, ma pensavo che il pacchetto non si sovrapponesse a qualcosa. Grazie – Lanfear
E il core è 'scrollregion = (0,0,500,500)', senza di esso l'intero non può funzionare !! – Turtle