как передать qobject в качестве аргумента из сигнала в слот в qt connect

Мой оригинальный код передал QStringList из сигнала в слот, а затем возвратил QList. Все работало нормально, но мне нужно было изменить и QStringList, и QList на 2 разных подкласса QObject. С тех пор я получаю сообщения об ошибках типа «сначала нужен синтезированный метод», или он просто падает без какого-либо сообщения об ошибке.

Я понимаю, что qt копирует все аргументы, переданные в очереди, и qobject не может быть скопирован. Поэтому вместо того, чтобы возвращать объект qobject, я подумал, что создам оба объекта qobject до передачи сигнала. Затем я передаю ссылки на каждый объект, изменяю один из них в функции slot и аннулирую возвращаемое значение. К сожалению, приложение все еще не работает, независимо от того, как я кодирую функции сигнала и слота. Как я могу закодировать функции сигнала / слота и соединить их, чтобы передать оба объекта qobject в качестве аргументов или вернуть объект 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&)));

Функция receiveSignal () не создает и не изменяет напрямую qobject. Он должен сначала передать объекты qobjects другой функции, которая затем либо модифицирует obj2, либо создает и возвращает ее. Любые примеры кода будут с благодарностью.

Ответы на вопрос(1)

Ваш ответ на вопрос