私はスケールを移動する値に従って値を変更するプログレスバーを持っています。今度は、スケールをどの値に移動するかによって、進行状況バーの色をリアルタイムで変更したいと考えています。ここで私はこれを行うために作成されている方法は次のとおりです。スケールを使ってPythonのプログレスバーの色を更新しますか?
def volumelevel():
s = ttk.Style()
s.theme_use("classic")
if scalevar.get() <= 25:
s.configure("green.Horizontal.TProgressbar", background='green')
scale.configure(variable=scalevar, command=lambda x: progress.configure(value=scalevar.get()))
progress.configure(style="green.Horizontal.TProgressbar")
elif scalevar.get() <= 75:
s.configure("yellow.Horizontal.TProgressbar", background='yellow')
scale.configure(variable=scalevar, command=lambda x: progress.configure(value=scalevar.get()))
progress.configure(style="yellow.Horizontal.TProgressbar")
elif scalevar.get() <= 90:
s.configure("orange.Horizontal.TProgressbar", background='orange')
scale.configure(variable=scalevar, command=lambda x: progress.configure(value=scalevar.get()))
progress.configure(style="orange.Horizontal.TProgressbar")
elif scalevar.get() <= 100:
s.configure("red.Horizontal.TProgressbar", background='red')
scale.configure(variable=scalevar, command=lambda x: progress.configure(value=scalevar.get()))
progress.configure(style="red.Horizontal.TProgressbar")
私はそれをテストするために、ボタンの内側にそれを呼んだので、私はスケールを調整し、ボタンをクリックすると、プログレスバーの色、私はこの方法では、作業を行います知っています変更。
私はスケールオブジェクトでこのメソッドを呼び出していますが、スケールスライダーを動かすと、スケールが設定されている値に関係なく、プログレスバーは緑のままです(メソッドで指定されたとおり)。プログレスバーの色をスケールでリアルタイムに変更するにはどうすればよいですか?
UPDATE:私はtkinterエントリを作成してリアルタイムで値を表示し、その値に応じてエントリのフォアグラウンドを変更しました。何らかの理由で動作しますが、バーではありません。