首頁 > 後端開發 > Python教學 > 如何在 Tkinter 中建立具有垂直捲軸的可滾動框架?

如何在 Tkinter 中建立具有垂直捲軸的可滾動框架?

Patricia Arquette
發布: 2024-11-23 20:35:10
原創
543 人瀏覽過

How to Create a Scrollable Frame with a Vertical Scrollbar in 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 程式碼的差異

  • 它會自動調整畫布大小以適應內框。
  • 它也支援滑鼠滾輪滾動。
  • 其他點

    對於常規小部件(例如標籤),網格優於位置,因為它提供了更結構化的佈局。
    • anchor='nw' 指定視窗(內框)應位於畫布的西北角。

    以上是如何在 Tkinter 中建立具有垂直捲軸的可滾動框架?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

  • 來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    作者最新文章
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板