title: QMetaObject::invokeMethod doesn't find the method
body: <p>I want to use QMetaObject::invokeMethod to call a method of an object (later it will run in another thread and then invokeMethod comes in handy). I use the Qt 4.8 bindings of PySide 1.2.1 on Python 3.3. The full example is:</p>
  
  <pre><code>from PySide import QtCore
  
  class Tester(QtCore.QObject):
      def __init__(self):
          super().__init__()
  
      def beep(self):
          print('beep')
  
  if __name__ == '__main__':
      t = Tester()
      QtCore.QMetaObject.invokeMethod(t, 'beep', QtCore.Qt.AutoConnection)
  </code></pre>
  
  <p>And the output is:</p>
  
  <pre><code>QMetaObject::invokeMethod: No such method Tester::beep()
  </code></pre>
  
  <p>while I expected <code>beep</code>. The method was not invoked.</p>
  
  <p>So what's wrong? It seems so simple that I cannot find the error.</p>
  
  <hr>
  
  <p><strong>edit:</strong> I got it to work using the `@QtCore.Slot' decoration on the method. Thanks to the comment and the answer.</p>