私はpythonプログラミングの初心者であり、まだラムダの使用を理解しようとしています。多くのググリングの後、いくつかのguiプログラムに悩まされていました。私はそれが必要です
この作品
mtrf = Button(root, text = "OFF",state=DISABLED,command = lambda:b_clicked("mtrf"))
しかし、私がスケールについて同じことをすると動作しません
leds = Scale(root,from_=0,to=255, orient=HORIZONTAL,state=DISABLED,variable =num,command =lambda:scale_changed('LED'))
Scale
は、command
として渡された関数を1つの引数で呼び出します。そのため、この関数を使用する必要があります(ただし、すぐに捨ててください)。
変化する:
command=lambda: scale_changed('LED')
に
command=lambda x: scale_changed('LED')
これはおそらく、コマンドにおそらく不要な引数が渡されたためです。からラムダを変更してみてください
command=lambda:scale_changed('LED')
に
command=lambda x:scale_changed('LED')
Tkinterに相談してください ドキュメント :
スケールウィジェット
command
-スライダーが移動するたびに呼び出されるプロシージャ。このプロシージャには、新しいスケール値という1つの引数が渡されます。スライダーをすばやく動かした場合、すべての可能な位置に対してコールバックが得られるとは限りませんが、落ち着くと確実にコールバックが得られます。ボタンウィジェット
command
-ボタンがクリックされたときに呼び出される関数またはメソッド。
lambda
を
command=lambda new_scale_val: scale_changed('LED')