PythonTK-单击时动态更改按钮,在函数中定义

PythonTK-单击时动态更改按钮,在函数中定义,python,button,click,tkinter,tk,Python,Button,Click,Tkinter,Tk,我不熟悉用Python制作GUI,我尝试做的应该很简单。本质上,我有一个dialog类,用于在程序中实例化对话框。这个对话框中有一个按钮,我想用它来改变颜色。我希望用户能够单击按钮,转到颜色选择器,然后返回对话框,按钮更改为所选颜色。在我的dialog类中,这里是我定义按钮的地方 def body(self, master): Label(master, text="Track URL:").grid(row=0) Label(master, text="Short label:").

我不熟悉用Python制作GUI,我尝试做的应该很简单。本质上,我有一个dialog类,用于在程序中实例化对话框。这个对话框中有一个按钮,我想用它来改变颜色。我希望用户能够单击按钮,转到颜色选择器,然后返回对话框,按钮更改为所选颜色。在我的dialog类中,这里是我定义按钮的地方

def body(self, master):

  Label(master, text="Track URL:").grid(row=0)
  Label(master, text="Short label:").grid(row=1)
  Label(master, text="Long label:").grid(row=2)
  b = Button(master, text="Color",bg="white",command=self.chooseColor).grid(row=3)

  self.e1 = Entry(master)
  self.e2 = Entry(master)
  self.e3 = Entry(master)

  self.e1.grid(row=0, column=1)
  self.e2.grid(row=1, column=1)
  self.e3.grid(row=2, column=1)

  return self.e1 # initial focus
然后我只需要一个简单的函数来选择颜色

   def chooseColor(self):
   color = askColor()
   b["bg"] = color

我知道b现在超出了范围,所以我不能更改它,但我不知道如何在可以更改按钮颜色的地方选择颜色。非常感谢您的帮助。

b
作为成员变量:

self.b = Button(.....)
然后
self.chooseColor
可以“查看”
self.b
并对其进行更改:

def chooseColor(self):
    color = askColor()
    self.b["bg"] = color # or however you change a color in python/tkinter

我知道这很简单。谢谢