私は3つのプラグインを持つアプリケーションに取り組んでいます。メインアプリケーションはQtプロジェクトであり、それに加えて、メインアプリケーションへのプラグインである3つのQtプロジェクトも追加します。
SIGNALがである1つのプロジェクトで接続ステートメントを呼び出してtriggered()
います。オブジェクトは以下に示され、スロットslt_menuSetIngestDir()があります。同じオブジェクト、同じSIGNALtriggered()
を持ち、スロットslt_IngestDir()が異なる別のプロジェクトでconnectステートメントを呼び出しています。
プロジェクト1の接続ステートメントの例を次に示します。
connect(PluginLocalManager::getInstance()->getEventIF()->getMenuAction(M_TOOL_SETINGESTDIR), SIGNAL(triggered()), this, SLOT(slt_menuSetIngestDir()) );
プロジェクト2のサンプルConnectステートメント:
connect(PluginLocalManager::getInstance()->getEventIF()->getMenuAction(M_TOOL_SETINGESTDIR), SIGNAL(triggered()), this, SLOT(slt_IngestDir()) );
問題は、アプリケーションを実行し、特定のオプションをクリックすると、同じオブジェクトを使用してSIGNALをトリガーし、同時に2つの異なるスロットを呼び出すことです。
プロジェクト2で信号を切断し、プロジェクト1の接続ステートメントがプロジェクト1で特に機能すること、およびその逆を確認できる可能性はありますか?Qtでステートメントに出くわしdisconnect
ましたが、何かが足りないようです。助けてください!!