title: How to change color theme for all widgets in tkinter?
body: <p>I'd like to change the color palette of a tkinter application, I don't know how to update all widgets with the new colors configuration.</p>
  <p>I wrote this minimal reproducible example of what I'd need:</p>
  <pre><code>from tkinter import *
  from tkinter.ttk import *
  
  COLOR_1 = 'white'
  COLOR_2 = 'black'
  
  class App(Tk):
      def __init__(self):
          super(App, self).__init__()
  
          global COLOR_1, COLOR_2
  
          self.geometry('200x200+50+50')
          self.title('Theme Changer')
  
          menubar = Menu(self)
          thememenu = Menu(menubar, tearoff=False)
          thememenu.add_command(label='Theme 1', command=lambda: self.change_theme(1))
          thememenu.add_command(label='Theme 2', command=lambda: self.change_theme(2))
          thememenu.add_command(label='Theme 3', command=lambda: self.change_theme(3))
          menubar.add_cascade(label='Themes', menu=thememenu)
  
          self.configure(menu=menubar, background=COLOR_1)
  
          Label(self, text='SOME TEXT', background=COLOR_1, foreground=COLOR_2).pack()
  
      def change_theme(self, key):
          global COLOR_1, COLOR_2
  
          if key == 1:
              COLOR_1 = 'black'
              COLOR_2 = 'yellow'
  
          elif key == 2:
              COLOR_1 = 'yellow'
              COLOR_2 = 'blue'
  
          else:
              COLOR_1 = 'white'
              COLOR_2 = 'black'
          
          self.update()
  
  if __name__ == '__main__':
      myapp = App()
      myapp.mainloop()
  </code></pre>
  <p>Evidently the function  <code>update()</code> is not useful for this purpose.</p>
  <p>How can I do what I need?</p>