概要
tkinterを用いてアプリケーションを作成しています。
GUIは以下のような構造になっており、
Frame2に大量にチェックボタン(チェックボックス)が並んでいます。
やりたいこと
Frame2のみにスクロールバーを表示し、垂直・水平方向にスクロールさせたいです。
現状
方法を調べていくうち、メインウィンドウ(tkinter.TK())やフレーム(tkinter.Frame)クラスにはスクロールバーは設定できず、tkinter.Canvasクラスにフレームを対応させることが分かりましたが、FrameクラスとCanvasクラスの使用方法が間違っているのかスクロールできません。
スクロールバーは表示されるのですが、スクロールができない状態です。
現状のプログラムの関係ある部分です。
オブジェクト指向でなく申し訳ありません。
root = tkinter.Tk() #メインウィンドウ生成 : : #メインフレーム生成 mainFrame = tkinter.Frame(root, ...) mainFrame.pack() #Frame1を生成 frame1 = tkinter.Frame(mainFrame, ...) frame1.pack() #Frame2を生成 frame2 = tkinter.Frame(mainFrame, ...) frame2.pack() # Canvas生成 canvas=tkinter.Canvas(frame2, ...) # 垂直・水平方向のスクロールバー生成 hbar=Scrollbar(frame2,orient=tkinter.HORIZONTAL) hbar.pack(side=tkinter.BOTTOM,fill=tkinter.X) hbar.config(command=canvas.xview) vbar=Scrollbar(frame2,orient=tkinter.VERTICAL) vbar.pack(side=tkinter.RIGHT,fill=tkinter.Y) vbar.config(command=canvas.yview) : : # チェックボックス生成 (Nはチェックボックスの個数) for i in range(0, N): : : chk = tkinter.Checkbutton(frame2, ...) : # canvasとスクロールバー対応 canvas.config(xscrollcommand=hbar.set, yscrollcommand=vbar.set) canvas.pack()
質問
スクロールする方法をご教示ください。
よろしくお願いいたします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。