创建/绘制后,有什么方法可以改变小部件的选项吗?我似乎找不到任何办法。我目前的目标是在其temp0 textvariable> = 50时更改Label的fg。

这段代码是一个更大程序的一部分,所以我不想将所有内容都放在这里,因为关键部分是我不确定一旦获得b就如何更改该Label的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")

最佳答案

是的,行得通。您可以使用以下任一方法:

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)


分为两行:

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


现在,self.t0将指向标签,而不是.grid的返回值,即None

10-06 10:32