1

作成/描画後にウィジェットのオプションを変更する方法はありますか? 私はそうする方法を見つけることができないようです。私が現在目指しているのは、temp0 テキスト変数が >= 50 になったら、Label の fg を変更することです。

このコードはより大きなプログラムの一部なので、ここにすべてを入れたくありませんでした。重要な部分は、b を取得した後にそのラベルの fg (つまり、フォントの色) を変更する方法がわからないことです。 [0] の値を調べて、それが 50 を超えていることを確認します。そのself.t0.config(fg="red")ための適切な構文はありますか?

 class App:
    def __init__(self, master):

    #live updating TkInter variables    
        self.temp0 = DoubleVar()

        frame = Frame(master)
        self.t0 = Label(frame, fg="blue", textvariable=self.temp0,font=(20)).grid(row=2, column=0)
        frame.pack(padx=10, pady=10)

    def start(self):
        # calculates temperature
        self.temp0.set(b[0])

        # changes color of text to red if temp >= 50
        if b[0] >= 50:
            self.t0.config(fg="red")
4

1 に答える 1

1

はい、うまくいきます。次のいずれかを使用できます。

self.t0.config(fg="red")

また:

self.t0["fg"] = "red"

どちらの方法も同じことを行うため、必要なものを選択できます。

また、すべてを機能させるには、次のコード行を作成する必要があります。

self.t0 = Label(frame, fg="blue", textvariable=self.temp0,font=(20)).grid(row=2, column=0)

2行に:

self.t0 = Label(frame, fg="blue", textvariable=self.temp0,font=(20))
self.t0.grid(row=2, column=0)

これで、の戻り値ではself.t0なく、本来あるべきラベルを指します。.gridNone

于 2013-10-29T16:58:20.100 に答える