title: Is the PySide Slot Decorator Necessary?
body: <p>I've seen some example code for PySide slots that uses the @QtCore.Slot decorator, and some that does not.  Testing it myself, it doesn't seem to make a difference.  Is there a reason I should or should not use it?  For example, in the following code:</p>
  
  <pre><code>import sys
  from PySide import QtCore
  
  # the next line seems to make no difference
  @QtCore.Slot()
  def a_slot(s):
      print s
  
  class SomeClass(QtCore.QObject):
      happened = QtCore.Signal(str)
      def __init__(self):
          QtCore.QObject.__init__(self)
      def do_signal(self):
          self.happened.emit("Hi.")
  
  sc = SomeClass()
  sc.happened.connect(a_slot)
  sc.do_signal()
  </code></pre>
  
  <p>the @QtCore.Slot decorator makes no difference; I can omit it, call @QtCore.Slot(str), or even @QtCore.Slot(int), and it still nicely says, "Hi."</p>
  
  <p>The same seems to be true for PyQt's pyqtSlot.</p>