QSignalMapper
を使用して、接続に基づいて異なるパラメータを持つスロットを呼び出すことができます。私が達成したいことは少し異なります。Qtマップ値に基づく信号
私たちはアプリケーションでプラグインを使用しています。さまざまなプラグインがさまざまなタイプのオブジェクトを担当しています。私たちは、それぞれ異なるプラグインで実装された複数のスロットを、メインアプリケーションが発信する1つの信号に接続しています。信号のパラメータの1つは、信号に関連するオブジェクトのタイプを示すQString
です。現在、スロット内でこのパラメータをチェックしており、プラグインによって型が処理されている場合は処理を進めます。これには欠点があります。すべてのプラグインがこのチェックを行い、可能ならばこれを避けたいのです。
すべてのスロットを同じ信号に接続したい場合は、QString
引数の値(QSignalMapper
など)の値に応じて、適切なスロットだけが呼び出されます。
これを行うための組み込みのメカニズムはありますか?そうでない場合は、どのように私はこれを達成することができますか?
ありがとうございます。