как прокрутить холст с картинками в python? - PullRequest
0 голосов
/ 27 февраля 2020

Я попытался прокрутить столбец изображений на холсте с кодом ниже, когда я запускаю код, появляется полоса прокрутки, но прокручивать нечего. и изображения находятся в главном каталоге.

КОД (python 3):

import tkinter as tk

root = tk.Tk()
root.configure(bg='#1d1d1d')
root.geometry('100x200')
f = tk.PhotoImage(file = 'folder.png')
d = tk.PhotoImage(file = 'database.png')

can = tk.Canvas(root , bg = 'red' )
scroll = tk.Scrollbar(root  , command=can.yview)

for i in range(20):
  tk.Label(can , image = f , anchor = 'w').pack( side = 'top')
for i in range(10):
  tk.Label(can , image = d , anchor = 'w').pack( side = 'top')

can.pack( side = 'left')
scroll.pack(side = 'right' , fill = 'y')
can.config(yscrollcommand=scroll.set)
can.configure(scrollregion=can.bbox("all"))

root.mainloop()

Кто-нибудь знает, где проблема?

1 Ответ

1 голос
/ 27 февраля 2020

Канва не может прокручивать элементы, добавленные с pack, place или grid. Чтобы добавить на холст что-то, что можно прокручивать, вы должны использовать один из методов create_* (create_window, create_image, et c).

...