tkinter

【Python/tkinter】Scale(トラックバー、スライダー)

つまみを動かして値を調整できる、C#でいうところのトラックバーは、tkiterでは Scale といいます。

以下にサンプルプログラムを示します。

Python tkinter Scale スクロールバー

import tkinter as tk

class Application(tk.Frame):
    def __init__(self, master = None):
        super().__init__(master)

        self.master.title("Scaleの作成")     # ウィンドウタイトル

        #---------------------------------------------------------------
        # Scaleの作成

        # Scale(デフォルトで作成)
        scaleV = tk.Scale( self.master)
        scaleV.pack(side = tk.RIGHT)

        # Scale(オプションをいくつか設定)
        self.scale_var = tk.DoubleVar()
        scaleH = tk.Scale( self.master, 
                    variable = self.scale_var, 
                    command = self.slider_scroll,
                    orient=tk.HORIZONTAL,   # 配置の向き、水平(HORIZONTAL)、垂直(VERTICAL)
                    length = 300,           # 全体の長さ
                    width = 20,             # 全体の太さ
                    sliderlength = 20,      # スライダー(つまみ)の幅
                    from_ = 100,            # 最小値(開始の値)
                    to = 300,               # 最大値(終了の値)
                    resolution=0.5,         # 変化の分解能(初期値:1)
                    tickinterval=50         # 目盛りの分解能(初期値0で表示なし)
                    )
        scaleH.pack()
        #---------------------------------------------------------------

    def slider_scroll(self, event=None):
        '''スライダーを移動したとき'''
        print(str(self.scale_var.get()))

if __name__ == "__main__":
    root = tk.Tk()
    app = Application(master = root)
    app.mainloop()

オプション

オプション名 説明
activebackground マウスカーソルがスケール(つまみ)上にあるときのスケールの色を指定します。
background 背景色(値、メモリの文字、スケール(つまみ)の背景色)を指定します。
bd スライダー部の枠線の太さを指定します。
【初期値】2
bg 背景色(値、メモリの文字、スケール(つまみ)の背景色)を指定します。
borderwidth スライダー部の枠線の太さを指定します。
【初期値】2
command 値が変更された時に呼び出されるメソッド名を指定します。
cursor ウィジェット上にマウスポインタがある際のカーソルの種類を指定します。
digits 値、メモリに表示される値の桁数を指定します。
fg フォントの文字色を設定します。
font フォントを指定します。
foreground フォントの文字色を設定します。
from_ 最小値(開始の値)を指定します。
highlightbackground
highlightcolor
highlightthickness
label スライダーの左上(水平方向に配置のとき)もしくは右上(垂直方向に配置のとき)に表示する文字(ラベル)を指定します。
length 全体の長さを指定します。
orient Scaleの配置の向き(縦(tk.VERTICAL)か横(tk.HORIZONTAL))を指定します。
【初期値】tk.HORIZONTAL
relief Scale全体の枠線のスタイルを設定します。
【設定値】tk.RAISED, tk.GROOVE, tk.SUNKEN, tk.RIDGE, tk.FLAT
repeatdelay
repeatinterval
resolution つまみを移動した時の変化の分解能を指定します。
【初期値】1
showvalue スライダーの値を表示する(True) /表示しない(False)を指定します。
sliderlength スライダー(つまみ)の幅
sliderrelief
state state = tk.DISABLEDを指定するとScaleが無効(変更できない)になります。
takefocus
tickinterval 目盛りの文字の分解能を指定します。
【初期値】1
to 最大値(終了の値)を指定します。
troughcolor スライダが動く領域(つまみの背景)の色を指定します。
variable Scaleの値をIntVar,DoubleVar,StringVarクラスオブジェクトで指定します。
width 全体の太さを指定します。

コメント

タイトルとURLをコピーしました