Tkinter チュートリアル - スクロールバー

胡金庫 2023年1月30日
  1. Tkinter ScrollBar
  2. Tkinter 水平スクロールバー
Tkinter チュートリアル - スクロールバー

Tkinter Scrollbar ウィジェットは、通常、ListBoxText、または Canvas のようなウィジェットを垂直に、または Entry を水平にスクロールするために使用されます。スライダーが正しい位置に表示されます。

Tkinter ScrollBar

import tkinter as tk


class Scrollbar_Example:
    def __init__(self):
        self.window = tk.Tk()

        self.scrollbar = tk.Scrollbar(self.window)
        self.scrollbar.pack(side="right", fill="y")

        self.listbox = tk.Listbox(self.window, yscrollcommand=self.scrollbar.set)
        for i in range(100):
            self.listbox.insert("end", str(i))
        self.listbox.pack(side="left", fill="both")

        self.scrollbar.config(command=self.listbox.yview)

        self.window.mainloop()


if __name__ == "__main__":
    app = Scrollbar_Example()

Tkinter Scrollbar Basic

self.scrollbar = tk.Scrollbar(self.window)

Scrollbar インスタンスを開始します。

self.listbox = tk.Listbox(self.window, yscrollcommand=self.scrollbar.set)

self.scrollbar.config(command=self.listbox.yview)

それらを正しく接続するには、ListboxScrollbar の両方を設定する必要があります。

  1. yscrollcommand コールバックを Scrollbarset に設定します。yscrollcommand はスクロール可能なウィジェットのオプションであり、スクロールバーによって制御され、と通信するために使用されます垂直スクロールバー。
  2. ScrollbarcommandListboxyview に設定します。ユーザーが Scrollbar のスライダーを動かすと、適切な引数で yview メソッドを呼び出します。

Tkinter 水平スクロールバー

水平スクロールバーは、テキストエントリなどのウィジェットを水平方向にスクロールするために使用されます。

import tkinter as tk


class Scrollbar_Example:
    def __init__(self):
        self.window = tk.Tk()

        self.scrollbar = tk.Scrollbar(self.window, orient=tk.HORIZONTAL)
        self.scrollbar.pack(side="bottom", fill="x")

        self.text = tk.Text(self.window, wrap="none", xscrollcommand=self.scrollbar.set)

        self.text.insert("end", str(dir(tk.Scrollbar)))
        self.text.pack(side="top", fill="x")

        self.scrollbar.config(command=self.text.xview)

        self.window.mainloop()


if __name__ == "__main__":
    app = Scrollbar_Example()

Tkinter Scrollbar Horizo​​ntal

self.scrollbar = tk.Scrollbar(self.window, orient=tk.HORIZONTAL)

orientHORIZONTAL に指定することにより、水平スクロールバーを開始します。

self.text = tk.Text(self.window, wrap="none", xscrollcommand=self.scrollbar.set)

テキストを水平方向にスクロールするには、xscrollcommandScrollbarset メソッドに設定する必要がありますが、上記の例のように yscrollcommand を設定する必要はありません。

self.scrollbar.config(command=self.text.xview)

同様に、水平スクロールバーのコールバックは、xview メソッドではなく yview に接続する必要があります。

著者: 胡金庫
胡金庫 avatar 胡金庫 avatar

DelftStack.comの創設者です。Jinku はロボティクスと自動車産業で8年以上働いています。自動テスト、リモートサーバーからのデータ収集、耐久テストからのレポート作成が必要となったとき、彼はコーディングスキルを磨きました。彼は電気/電子工学のバックグラウンドを持っていますが、組み込みエレクトロニクス、組み込みプログラミング、フロントエンド/バックエンドプログラミングへの関心を広げています。

LinkedIn Facebook