title: Tkinter - AttributeError: 'str' object has no attribute 'set'
body: <p>This is the code I have created and am trying to run:</p>
  
  <pre><code>import tkinter as tk
  
  
  def ok(val):
      print("Value is: ", val)
  
  def say_hi(self):
      print("hi there, everyone!")
  
  class Application(tk.Frame):
  
      def __init__(self, master=None):
          tk.Frame.__init__(self, master)
          master.title("Hi There")
          master.geometry("400x400")
          self.createWidgets(master)
  
      def createWidgets(self, master=None):
          var = str()
  
          self.select = tk.OptionMenu(master, var, "one", "two","three", command=ok).grid(column=1, row=1)
  
          self.QUIT = tk.Button(master, text="QUIT", fg="red", command=root.destroy).grid(column=2, row=1)
          print ("HI")
  
  root = tk.Tk()
  app = Application(master=root)
  app.mainloop()
  </code></pre>
  
  <p>But I am receiving the following error:</p>
  
  <pre><code>Exception in Tkinter callback
  Traceback (most recent call last):
    File "C:\Python34\lib\tkinter\__init__.py", line 1533, in __call__
      return self.func(*args)
    File "C:\Python34\lib\tkinter\__init__.py", line 3308, in __call__
      self.__var.set(self.__value)
  AttributeError: 'str' object has no attribute 'set'
  </code></pre>
  
  <p>I tried messing with some of the variables and using different methods to get the menu to work, but nothing seemed to get rid of the error.  </p>
  
  <p>Any idea on how to fix the error?</p>