title: Qt connect in constructor not connecting?
body: <p>A google search gives these as the top three results:</p>
  
  <ul>
  <li><a href="https://stackoverflow.com/questions/30625027/qt-connect-inside-constructor-will-slot-be-invoked-before-object-is-initializ">Qt: Connect inside constructor - Will slot be invoked before object is initialized?</a>  </li>
  <li><a href="https://stackoverflow.com/questions/11641297/qt-can-i-connect-signals-slots-to-self-in-constructor">Qt can I connect signals/slots to self in constructor?</a>  </li>
  <li><a href="https://stackoverflow.com/questions/24635369/qt-connect-signal-slot-and-initialize-in-constructor">QT Connect Signal Slot and initialize in constructor</a></li>
  </ul>
  
  <p>According to those, it seems like it ought to "just work" like anything else.  But this code doesn't:</p>
  
  <pre><code>EditorList::EditorList(..., QWidget* parent) :
      QWidget(parent)
  {
      ...
      Processing* processing = Processing::getInstance();
      connect(this, SIGNAL(reorderDelete(DataSequence*,ListType,QList&lt;int&gt;)), processing, SLOT(reorderDelete(DataSequence*,ListType,QList&lt;int&gt;)));
      ...
      buttonDelete = new QPushButton(this);
      connect(buttonDelete, SIGNAL(clicked(bool)), this, SLOT(buttonDeleteClick()));
      ...
  }
  ...
  void EditorList::buttonDeleteClick()
  {
      ...
      QList&lt;int&gt; locations;
      ...
      emit reorderDelete(mySequence, myListType, locations);    //breakpoint 1 here
  }
  
  //-----------------------------------------------------------------
  
  void Processing::reorderDelete(DataSequence* sequence, ListType listType, QList&lt;int&gt; locations)
  {
      if(sequence)    //breakpoint 2 here
      {
          sequence-&gt;reorderDelete(listType, locations);
      }
  }
  </code></pre>
  
  <p>The reason for this structure, instead of calling <code>mySequence-&gt;reorderDelete</code> directly, is to have it done in <code>Processing</code>'s thread instead of the UI's.  I hope I haven't stripped out too much detail to show the problem; this is a rather large project.</p>
  
  <p>When I click my delete button, I hit <code>breakpoint 1</code> (so far, so good), but I don't hit <code>breakpoint 2</code>.  My other signals/slots work across threads, but their <code>connects</code> are not in constructors.  I want to make this one automatic so that every instance is "just connected" without having to remember to do it.  Can I not do that?</p>