como passar qobject como argumento do sinal para o slot em qt connect
Meu código original passou um QStringList do sinal para o slot e retornou um QList. Tudo funcionou bem, mas eu precisava alterar o QStringList e o QList em dois QObjects diferentes e com subclasses. Desde então, tenho recebido erros como "método sintetizado primeiro exigido aqui" ou simplesmente falha sem qualquer mensagem de erro.
Eu entendo qt copia todos os argumentos passados em uma conexão enfileirada e um qobject não pode ser copiado. Então, em vez de retornar um qobject, pensei em criar ambos os qobjects antes de emitir o sinal. Então eu passaria referências para cada objeto, modificaria um deles na função de slot e anularia o valor de retorno. Infelizmente, o aplicativo ainda falha, não importa como eu codifique as funções de sinal e slot. Como posso codificar as funções de sinal / slot e conectá-las para passar ambos os qobjects como argumentos ou retornar um qobject?
MyQObject1 obj1("a","b","c");
MyQObject2 obj2();
emit sendSignal(&obj1, &obj2);
// or
MyQObject2 obj2 = emit sendSignal(&obj1);
connect(someObj, SIGNAL(sendSignal(const QObject&)), this, SLOT(receiveSignal(const QObject&)));
A função receiveSignal () não cria ou modifica diretamente nenhum objeto q. Ele tem que passar os qobjects para outra função primeiro, que então modifica obj2 ou cria e retorna. Qualquer exemplo de código seria muito apreciado.