私はこの質問のいくつかのフォームが以前に他のフォーラムと同様にここで尋ねられていることを実感しました。私はそれらのすべてを読んだことがあり、それらの解決策に向かってそれぞれ数時間働いていますが、私はまだそれを手に入れません。その目標は、スクロール可能なキャンバスを含む新しいウィンドウ(Toplevel)で、そこにいくつかのコンテンツを含むフレームがありました。私はまだ仕事にキャンバス上にスクロールバーを取得することはできません。Tkinterのキャンバスにスクロールバー
#make new window
self.edit_window = Tkinter.Toplevel()
self.edit_window.title("Data Refinement")
self.edit_window.maxsize(height='50', width='300')
#make scrollbar for canvas
cScrollbar = Tkinter.Scrollbar(self.edit_window)
cScrollbar.pack(side=Tkconstants.RIGHT, fill=Tkconstants.Y)
#make canvas
canvas = Tkinter.Canvas(self.edit_window)
#attach canvas to scrollbar
canvas.config(yscrollcommand=cScrollbar.set)
cScrollbar.config(command=canvas.yview)
#make frame and put everything in frame
frame = Tkinter.Frame(self.edit_window)
#random fill
Tkinter.Label(frame, text="Enter bounds for the parameters").pack()
Tkinter.Label(frame, text="Enter bounds for the parameters").pack()
Tkinter.Label(frame, text="Enter bounds for the parameters").pack()
Tkinter.Label(frame, text="Enter bounds for the parameters").pack()
Tkinter.Label(frame, text="Enter bounds for the parameters").pack()
Tkinter.Label(frame, text="Enter bounds for the parameters").pack()
#scrollbar for listbox
scrollbar = Tkinter.Scrollbar(frame)
scrollbar.pack(side=Tkconstants.RIGHT, fill=Tkconstants.Y)
listbox = Tkinter.Listbox(frame)
listbox.pack()
#insert some random data for now into listbox
for i in range(100):
listbox.insert(Tkconstants.END, i)
# attach listbox to scrollbar
listbox.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=listbox.yview)
#pack and attach to canvas
frame.pack(fill=Tkconstants.BOTH, expand=Tkconstants.YES)
canvas.create_window(0,0, anchor = Tkconstants.NW, window = frame)
canvas.pack(fill=Tkconstants.BOTH, expand=Tkconstants.YES)
canvas.config(scrollregion=canvas.bbox(Tkconstants.ALL))
ので、フレームが正常内容で作られています。フレームはキャンバスに正常に添付されます。私が得られないことは、キャンバスに接続されているものが表示されているのに実際には動作しない間に、リストボックスに付いたスクロールバーが機能することです。スクロールバーは、すべてが既に表示されているように動作します。それは、キャンバスの内容全体をスクロールするのではなく、目に見えるものをスクロールするようなものです。
私はそれがリストボックスではなく、キャンバスでは何をしているのか誰にも分かりますか?私はオンラインからのスクロールキャンバスの例を続けていますが、私は同じ問題を抱えています....これはとても恐ろしいです。 – user926914