title: AttributeError: 'str' object has no attribute 'set' in tkinter
body: <p>I am trying to create and implement a simple form in Python using tkinter. The form itself was created using PAGE, I am now trying to write code to interact with the form (I'm still learning Python, so please bear with me).</p>
  
  <p>I am getting an AttributeError: 'str' object has no attribute 'set' when trying to dynamically set the text in a label from outside of the class where the label is defined. Everything I have read online indicates that this is the way to achieve my desired result, however I am stumped by this error. Any help is appreciated.</p>
  
  <p>The error is occurring in the in the setTimerString function (which is part of the Pulse class).</p>
  
  <p>Here is my main code file:</p>
  
  <pre><code>#! /usr/bin/env python
  #
  # GUI module generated by PAGE version 4.8.5
  # In conjunction with Tcl version 8.6
  #    Feb 10, 2017 09:38:24 AM
  import sys
  
  try:
      from Tkinter import *
  except ImportError:
      from tkinter import *
  
  try:
      import ttk
      py3 = 0
  except ImportError:
      import tkinter.ttk as ttk
      py3 = 1
  
  import pulse_support
  
  def vp_start_gui():
      '''Starting point when module is the main routine.'''
      global val, w, root, top
      root = Tk()
      top = Pulse (root)
      pulse_support.init(root, top)
      root.mainloop()
  
  w = None
  def create_Pulse(root, *args, **kwargs):
      '''Starting point when module is imported by another program.'''
      global w, w_win, rt
      rt = root
      w = Toplevel (root)
      top = Pulse (w)
      pulse_support.init(w, top, *args, **kwargs)
      return (w, top)
  
  def destroy_Pulse():
      global w
      w.destroy()
      w = None
  
  def startTimer():
      global count
      count = 0 # Reset it evert time the user starts the program
      top.setTimerString("12")
  
  
  def runProgram():
      # Run the main program
      startTimer()
  
  def closeProgram():
      exit()
  
  
  class Pulse:
      def __init__(self, top=None):
          '''This class configures and populates the toplevel window.
             top is the toplevel containing window.'''
  
          self._bgcolor = '#d9d9d9'  # X11 color: 'gray85'
          self._fgcolor = '#000000'  # X11 color: 'black'
          self._compcolor = '#d9d9d9' # X11 color: 'gray85'
          self._ana1color = '#d9d9d9' # X11 color: 'gray85' 
          self._ana2color = '#d9d9d9' # X11 color: 'gray85' 
  
          top.geometry("320x344+599+249")
          top.title("Pulse")
          top.configure(background="#d9d9d9")
  
          # Set the strings to use for the form
          self.countString = StringVar()
          self.timerString = StringVar()
          self.countString = "0"
          self.timerString = "0"
  
          self.btnExit = Button(top)
          self.btnExit.place(relx=0.84, rely=0.03, height=24, width=39)
          self.btnExit.configure(activebackground="#d9d9d9")
          self.btnExit.configure(activeforeground="#000000")
          self.btnExit.configure(background="#d9d9d9")
          self.btnExit.configure(command=closeProgram)
          self.btnExit.configure(disabledforeground="#a3a3a3")
          self.btnExit.configure(foreground="#000000")
          self.btnExit.configure(highlightbackground="#d9d9d9")
          self.btnExit.configure(highlightcolor="black")
          self.btnExit.configure(pady="0")
          self.btnExit.configure(text='''Exit''')
          self.btnExit.configure(width=39)
  
          self.btnStart = Button(top)
          self.btnStart.place(relx=0.31, rely=0.17, height=104, width=125)
          self.btnStart.configure(activebackground="#d9d9d9")
          self.btnStart.configure(activeforeground="#000000")
          self.btnStart.configure(background="#d9d9d9")
          self.btnStart.configure(command=runProgram)
          self.btnStart.configure(disabledforeground="#a3a3a3")
          self.btnStart.configure(foreground="#000000")
          self.btnStart.configure(highlightbackground="#d9d9d9")
          self.btnStart.configure(highlightcolor="black")
          self.btnStart.configure(pady="0")
          self.btnStart.configure(text='''Start''')
          self.btnStart.configure(width=125)
  
          self.Label1 = Label(top)
          self.Label1.place(relx=0.31, rely=0.58, height=21, width=54)
          self.Label1.configure(background="#d9d9d9")
          self.Label1.configure(disabledforeground="#a3a3a3")
          self.Label1.configure(foreground="#000000")
          self.Label1.configure(text='''Timer:''')
          self.Label1.configure(width=54)
  
          self.lblTimer = Label(top)
          self.lblTimer.place(relx=0.5, rely=0.58, height=21, width=32)
          self.lblTimer.configure(background="#a8aeff")
          self.lblTimer.configure(disabledforeground="#a3a3a3")
          self.lblTimer.configure(foreground="#000000")
          self.lblTimer.configure(textvariable=self.countString)
          self.lblTimer.configure(width=32)
  
          self.Label3 = Label(top)
          self.Label3.place(relx=0.33, rely=0.67, height=21, width=43)
          self.Label3.configure(background="#d9d9d9")
          self.Label3.configure(disabledforeground="#a3a3a3")
          self.Label3.configure(foreground="#000000")
          self.Label3.configure(text='''Count:''')
  
          self.lblCount = Label(top)
          self.lblCount.place(relx=0.5, rely=0.67, height=21, width=32)
          self.lblCount.configure(activebackground="#f9f9f9")
          self.lblCount.configure(activeforeground="black")
          self.lblCount.configure(background="#ffa8a8")
          self.lblCount.configure(disabledforeground="#a3a3a3")
          self.lblCount.configure(foreground="#000000")
          self.lblCount.configure(highlightbackground="#d9d9d9")
          self.lblCount.configure(highlightcolor="black")
          self.lblCount.configure(textvariable=self.countString)
  
          self.Label4 = Label(top)
          self.Label4.place(relx=0.13, rely=0.84, height=36, width=237)
          self.Label4.configure(background="#d9d9d9")
          self.Label4.configure(disabledforeground="#a3a3a3")
          self.Label4.configure(foreground="#000000")
          self.Label4.configure(text='''Press the start button to start the program.
  Every time your pulse beats, press the P key.''')
  
      def setTimerString(self, newVal):
          self.timerString.set(newVal)
  
  
  if __name__ == '__main__':
      vp_start_gui()
  </code></pre>