0
、私はこのコードを持っており、それが動作します:PythonのTkinterのスケールラムダ関数
from tkinter import *
color = [0,0,0]
def convert_color(color):
return '#{:02x}{:02x}{:02x}'.format(color[0],color[1],color[2])
def show_color(x,i):
color[int(i)] = int(x)
color_label.configure(bg=convert_color(color))
root = Tk()
color_label = Label(bg=convert_color(color),width=20)
rgb = [0,0,0]
for i in range(3):
rgb[i] = Scale(orient='horizontal',from_=0,to=255,command=lambda x, y=i:
show_color(x,y))
rgb[i].grid(row=i,column=0)
color_label.grid(row=3,column=0)
if __name__ == '__main__':
mainloop()
私も、私はこれで終わったのか分からないけどそれはうまく動作します。なぜ私はxを指定しなかったのか分かりませんが、私はまだそれを必要とし、スケールをスライドすると値が更新されますか? show_color
関数は1つのパラメーターを使用していましたが、機能しませんでした。私はオンラインで調べましたが、初心者であるため、自分の説明にその説明を適用できませんでした。他に何か問題がある場合は、私に知らせてください。ところで、「送信者」のようなものを使用する方法はありますか?ありがとう!
は、私は今理解いただきありがとうございます!コマンドは引数を渡すことができるか分からなかった。引数の名前は常に 'x'ですか?私が2番目の議論としてそれを使用したいのであれば、私はそれをどうやって行うのですか?デフォルトでは最初の引数のようです。 –
Scaleコマンドが渡す引数の名前は付けられません。それは「ポジション論争」です。常に最初の位置にあり、私のコードでは「価値」と名づけました。元のコードでは、 "x"という名前でした。 Scaleコマンドは1つの引数だけを渡しますが、複数の場合はdef行を一致させます:def(arg1、arg2) '。関数が取る引数の数と型は "シグネチャ"と呼ばれます。 – Novel