Scaleはスライドバーを移動させて数値を設定するためのウィジェットです。具体的な例を示しながら使用方法を整理しました。
【スポンサーリンク】
Scaleの使い方概要
Scaleはスライドバーの移動でユーザーに数値設定をしてもらうためのウィジェットです。基本的な使い方の例として、スライドバーの現在値をLabelに表示させる例を示します。
実行するとLabelと縦・横向きのScaleが表示され、スライドバーを移動させると、Labelにもその値がリアルタイムで反映されます。操作していない方のScaleも連動して同じ値を維持します。
この例では、Labelのtextvariable
とScaleのvariable
パラメータにvariable変数のIntVarを設定することで値の共有を行っています。
Scaleはデフォルトで0~100, 1刻みの設定になっています。範囲を変更するにはfrom_
とto
パラメーターを、数値のステップ量を変更するにはresolution
パラメータをそれぞれ設定します。50~200を5刻みで調整するスライドバーにする場合は以下の通りとなります。
scale = tkinter.Scale( root, from_=50, to=200, resolution=5, )
値の共有だけでなく、スライドバー移動時に特定の処理を実行したい場合は、command
オプションで関数と紐づけることが可能です。この例はScaleでWindowsの音量調整をする方法で紹介します。
【スポンサーリンク】
数値の取得・セット方法
Scaleの現在値を取得するにはget
メソッドを、Scaleに特定の値をセットするにはset
メソッドを使用します。以下、ボタンを用いてScaleの数値を取得・値をセットする方法を示します。
実行するとScaleと2つのButtonウィジェットが表示されます。
上側のボタンをクリックすると、Scaleの現在値を取得してボタンのタイトルとして表示します(下図左)。また、下側はScaleの値をリセット(0にセット)するためのボタンで、クリックすると値を0に設定します(下図右)。
【スポンサーリンク】
ScaleでWindowsの音量調整をする方法
より具体的な使用例として、ScaleでWindowsの音量調整を行う方法を以下に示します。実行するには事前にpycaw
モジュールをインストールしておく必要があります。※ここではpycawの詳細は紹介しません。
Master volume setting scale for windows
実行するとScaleのみが表示され、スライドバーを動かすとWindowsの音量調整が行われます。
この例では、command
オプションでスライドバー移動時に実行する関数(set_volume)を設定し、その中でWindowsの音量設定を行っています。設定した関数には自動でスライドバーの現在値が渡されるので、関数側での引数設定を忘れないように注意してください。また、Scaleから渡される値は文字列のため、計算等を行う場合は数値へ変換しておく必要もあります。
【スポンサーリンク】
オプション・メソッド
主なオプション・メソッド | 動作 |
---|---|
command | スライドバー移動時に実行する関数を設定 |
orient | スライドバーの向きを設定 縦:"vertical"(デフォルト) 、横:"horizontal" |
variable | variableの設定 |
from_, to, resolution | 数値の最小値、最大値、刻み量の設定 |
background(bg) | 背景色(green, black, yellow, cyan, magenta, red, blue, white等) |
borderwidth(bd) | 境界幅 |
relief | 縁の3D表示設定(flat, raised, sunken, groove, ridge) |
foreground(fg) | 文字の色の設定(green, black, yellow, cyan, magenta, red, blue, white等) |
font | フォントの設定(Times, Helvetica等) |
.get | 現在の値を取得 |
.set | 値を設定 |
【スポンサーリンク】