A google search gives these as the top three results:
- Qt: Connect inside constructor - Will slot be invoked before object is initialized?
 - Qt can I connect signals/slots to self in constructor?
 - QT Connect Signal Slot and initialize in constructor
 
According to those, it seems like it ought to "just work" like anything else. But this code doesn't:
EditorList::EditorList(..., QWidget* parent) :
    QWidget(parent)
{
    ...
    Processing* processing = Processing::getInstance();
    connect(this, SIGNAL(reorderDelete(DataSequence*,ListType,QList<int>)), processing, SLOT(reorderDelete(DataSequence*,ListType,QList<int>)));
    ...
    buttonDelete = new QPushButton(this);
    connect(buttonDelete, SIGNAL(clicked(bool)), this, SLOT(buttonDeleteClick()));
    ...
}
...
void EditorList::buttonDeleteClick()
{
    ...
    QList<int> locations;
    ...
    emit reorderDelete(mySequence, myListType, locations);    //breakpoint 1 here
}
//-----------------------------------------------------------------
void Processing::reorderDelete(DataSequence* sequence, ListType listType, QList<int> locations)
{
    if(sequence)    //breakpoint 2 here
    {
        sequence->reorderDelete(listType, locations);
    }
}
The reason for this structure, instead of calling mySequence->reorderDelete directly, is to have it done in Processing'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.
When I click my delete button, I hit breakpoint 1 (so far, so good), but I don't hit breakpoint 2.  My other signals/slots work across threads, but their connects 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?