title: Pass extra arguments to PyQt slot without losing default signal arguments
body: <p>A PyQt button event can be connected in the normal way to a function so that the function receives the default signal arguments (in this case the button checked state):</p>
  
  <pre><code>def connections(self):
      my_button.clicked.connect(self.on_button)
  
  def on_button(self, checked):
      print checked   # prints "True"
  </code></pre>
  
  <p>Or, the default signal arguments can be overridden using <code>lambda</code>:</p>
  
  <pre><code>def connections(self):
      my_button.clicked.connect(lambda: self.on_button('hi'))
  
  def on_button(self, message):
      print message   # prints "hi"
  </code></pre>
  
  <p>Is there a nice way to keep both signal arguments so it can be directly received by a function like below?</p>
  
  <pre><code>def on_button(self, checked, message):
      print checked, message   # prints "True, hi"
  </code></pre>