ホームページ >バックエンド開発 >Python チュートリアル >Tkinter で垂直スクロールバーを備えたスクロール可能なフレームを作成するにはどうすればよいですか?
フレームの Tkinter スクロールバー
スクロール可能なフレームの使用
tkinter パッケージは提供しませんフレーム用の組み込み垂直スクロールバー。ただし、キャンバス、スクロールバー、フレーム ウィジェットを組み合わせて作成することもできます。以下に例を示します。
class VerticalScrolledFrame(tk.Frame): def __init__(self, parent): tk.Frame.__init__(self, parent) # Create a canvas canvas = tk.Canvas(self) canvas.pack(side=tk.LEFT, fill=tk.BOTH, expand=True) # Create a vertical scrollbar scrollbar = ttk.Scrollbar(self, orient=tk.VERTICAL) scrollbar.pack(side=tk.RIGHT, fill=tk.Y) # Connect the scrollbar to the canvas scrollbar.config(command=canvas.yview) canvas.config(yscrollcommand=scrollbar.set) # Reset the view canvas.xview_moveto(0) canvas.yview_moveto(0) # Create a frame inside the canvas self.interior = ttk.Frame(canvas) canvas.create_window(0, 0, window=self.interior, anchor=NW)
スクロールバーをマウス ホイールにバインド
デフォルトでは、Tkinter スクロールバーにはマウス ホイール スクロール機能がありません。これを有効にするには、マウス ホイール イベントをキャンバスの yview_scroll メソッドにバインドします。
canvas.bind_all('<MouseWheel>', lambda event: canvas.yview_scroll(int(-event.delta/120), "units"))
OP のコードとの違い
その他のポイント
以上がTkinter で垂直スクロールバーを備えたスクロール可能なフレームを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。