1

Qt アクションをトリガーする通常の方法は、シグナルスロット接続を使用することです。私の関数はスロットではないので、それを行う他の方法はありますか? 直通電話など?

4

3 に答える 3

14

Qt 5の新しい構文を使用して、シグナルを非スロット メソッドに接続できQObject::connectます。次のようになります。

connect(action, &QAction::triggered, this, &MyClass::doSomeFunction);

この例では、MyClass::doSomeFunctionはスロットである必要はありません。ここに、より詳細な説明があります。

実際に QAction をトリガーしたい場合は、シグナルやスロットを使用せずに直接行うことができます。

action->trigger();
于 2013-02-04T16:00:26.393 に答える
0

シグナルに接続するスロットを追加し、その中で関数を呼び出すことができます。

于 2013-02-04T15:57:51.000 に答える