title: Using Tkinter function to create multiple drop-down menus and allowing user to select and display different options
body: <p>I am currently facing an issue where I am not able to get a different distinct output from each drop-down menu in Tkinter.</p>
  <p>The aim of my code is to get a similar output in the following image attached: &quot;Output of ideal, expected result&quot;.
  <a href="https://i.stack.imgur.com/zvYtu.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/zvYtu.png" alt="enter image description here" /></a></p>
  <p>However, this is the current result that I am getting, which is attached in:&quot;Current Result&quot;.
  <a href="https://i.stack.imgur.com/UT05O.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/UT05O.png" alt="enter image description here" /></a></p>
  <p>Below is my attached code.</p>
  <p>I would greatly appreciate any form of advice or help on this.</p>
  <pre><code>
  import tkinter as tk
  from tkinter import ttk
  
  class TestFrame(tk.Frame):
      def __init__(self):
          super().__init__()
          self.dimension =('106','108','110','112','114','126','128','130','132','134','136','138','140','146','148','150','152','154','360','380','400','420','440','500', '520', '540',
                          '560', '580', '600','780','800','820')
          self.option_var = tk.IntVar(self)
          #self.create_widgets()
          #self.create_widgets_1()
          
          paddings = {'padx': 5, 'pady': 5}
          label = ttk.Label(self,  text='Select the dimension for ODD_X1:').grid(column=0, row=0, sticky=tk.W, **paddings)
          #ODD_X1
          option_menu = ttk.OptionMenu(
              self,
              self.option_var,
              self.dimension[0],
              *self.dimension,
              command=self.option_changed)
          option_menu.grid(column=1, row=0, sticky=tk.W, **paddings)
          self.output_label = ttk.Label(self, foreground='red')
          self.output_label.grid(column=0, row=1, sticky=tk.W, **paddings)
          
          paddings = {'padx': 5, 'pady': 5}
          ttk.Label(self,  text='Select the dimension for ODD_Y1:').grid(column=3, row=0, sticky=tk.W, **paddings)
          option_menu = ttk.OptionMenu(
              self,
              self.option_var,
              self.dimension[0],
              *self.dimension,
              command=self.option_changed)
          option_menu.grid(column=4, row=0, sticky=tk.W, **paddings)
          self.output_label = ttk.Label(self, foreground='red')
          self.output_label.grid(column=4, row=1, sticky=tk.W, **paddings)
          
          paddings = {'padx': 5, 'pady': 5}
          ttk.Label(self,  text='Select the dimension for ODD_X2:').grid(column=0, row=3, sticky=tk.W, **paddings)
          option_menu = ttk.OptionMenu(
              self,
              self.option_var,
              self.dimension[0],
              *self.dimension,
              command=self.option_changed)
          option_menu.grid(column=1, row=3, sticky=tk.W, **paddings)
          self.output_label = ttk.Label(self, foreground='red')
          self.output_label.grid(column=0, row=4, sticky=tk.W, **paddings)
          
          paddings = {'padx': 5, 'pady': 5}
          ttk.Label(self,  text='Select the dimension for ODD_Y2:').grid(column=3, row=3, sticky=tk.W, **paddings)
          option_menu = ttk.OptionMenu(
              self,
              self.option_var,
              self.dimension[0],
              *self.dimension,
              command=self.option_changed)
          option_menu.grid(column=4, row=3, sticky=tk.W, **paddings)
          self.output_label = ttk.Label(self, foreground='red')
          self.output_label.grid(column=4, row=5, sticky=tk.W, **paddings)
     
   def option_changed(self, *args):
          self.output_label['text'] = f'You selected: {self.option_var.get()}'
  
  class App(tk.Tk):
      def __init__(self):
          super().__init__()
          self.geometry(&quot;800x400&quot;)
          self.title('ABC')
          for r in range(5):
              self.rowconfigure(r, weight=1)
          for c in range(8):
              self.columnconfigure(c, weight=1)
          
          self.testFrame1 = TestFrame()
          self.testFrame1.grid(row=0, column=0, rowspan=3, columnspan=3, sticky='nsew')
  App().mainloop()
  </code></pre>