tkinter canvasをスクロールする方法
解決したいこと
tkinterでcanvasの中にラベルを入れているのですが、多くのラベルを入れているのでscrollbarを使ってすべてのラベルを見られるようにしようとしています。
ですが、スクロースバーの動きがcanvasに反映されません。
解決方法を教えていただきたいです。
該当するソースコード
import tkinter as tk
root = tk.Tk()
root.geometry("300x300")
canvas = tk.Canvas(root, width=300, height=300)
canvas.pack()
sc = tk.Scrollbar(canvas)
sc.pack(side="right", fill="y")
sc.config(command=canvas.yview)
canvas.config(yscrollcommand=sc.set)
canvas.config(scrollregion=(0, 0, 300, 500))
for i in range(0,30):
lb = tk.Label(canvas, text="ラベル" + str(i))
lb.pack(side="top", fill="both")
自分で試したこと
canvasの中にフレームを入れてみたり、スクロールバーをcanvas内ではなくrootに設置してみたりと色々試してはいるのですが、うまくいきません。
0 likes