ドキュメントによると、スロットからの戻り値は何の意味もありません。
しかし、生成された moc コードでは、スロットが値を返す場合、この値が何かに使用されていることがわかります。それは何をしますか?
これが私が話していることの例です。これは、moc によって生成されたコードから取得されます。「メッセージ」は何も返さないスロットで、「selectPart」は int を返すように宣言されています。
case 7: message((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2]))); break;
case 8: { int _r = selectPart((*reinterpret_cast< AppObject*(*)>(_a[1])),(*reinterpret_cast< int(*)>(_a[2])));
if (_a[0]) *reinterpret_cast< int*>(_a[0]) = _r; } break;