tkinter

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

スポンサーリンク

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

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

 

Python 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全体の長さを指定します。
orientScaleの配置の向き(縦(tk.VERTICAL)か横(tk.HORIZONTAL))を指定します。
【初期値】tk.HORIZONTAL
reliefScale全体の枠線のスタイルを設定します。
【設定値】tk.RAISED, tk.GROOVE, tk.SUNKEN, tk.RIDGE, tk.FLAT
repeatdelay
repeatinterval
resolutionつまみを移動した時の変化の分解能を指定します。
【初期値】1
showvalueスライダーの値を表示する(True) /表示しない(False)を指定します。
sliderlengthスライダー(つまみ)の幅
sliderrelief
statestate = tk.DISABLEDを指定するとScaleが無効(変更できない)になります。
takefocus
tickinterval目盛りの文字の分解能を指定します。
【初期値】1
to最大値(終了の値)を指定します。
troughcolorスライダが動く領域(つまみの背景)の色を指定します。
variableScaleの値をIntVar,DoubleVar,StringVarクラスオブジェクトで指定します。
width全体の太さを指定します。

コメント

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