前提
PythonのTkinterのキャンバスにセットするスクロールバーを作りたいのですが、このコードのように
ybar.packまで実行すると写真(image1)のようにキャンバスが小さくなってしまいます。
また、コメントアウトしてあるfor文の個所を実行すると、写真(image2)のように、キャンバスが小さくなり
スクロールバーも消えてしまいます。
Python 3.10.5
Tkinter 8.6
実現したいこと
キャンバス内のウィジェットをスクロールさせたい
該当のソースコード
import tkinter as tk root = tk.Tk() root.geometry("2000x1200") font_name = 'arial' font_size = 12 cnv = tk.Canvas(root,width=1400,height=800, bg="blue") cnv.place(x=15,y=20) ybar = tk.Scrollbar(cnv,orient=tk.VERTICAL) xbar = tk.Scrollbar(cnv,orient=tk.HORIZONTAL) ybar.pack(side=tk.RIGHT, fill=tk.Y) xbar.pack(side=tk.BOTTOM, fill=tk.X) ybar.config(command=cnv.yview) xbar.config(command=cnv.xview) cnv.config(yscrollcommand=ybar.set, xscrollcommand=xbar.set) cnv.config(scrollregion=(0, 0, 1200, 700)) y_pos = 0 for i in range(100): lblb = tk.Label(cnv, width=4,text=str(i+1),font=(font_name, font_size)) lblb.place(x=0, y=y_pos) txtb = tk.Entry(cnv,width=11,font=(font_name, font_size)) txtb.place(x=37,y=y_pos) y_pos += 22 root.mainloop()

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。