私は現在、次のような方法を持っています
void SomeMethod(int a)
{
//Delay for one sec.
timer->start(1000);
//After one sec
SomeOtherFunction(a);
}
このメソッドは、実際にはシグナルに接続されたスロットです。Qtimer を使用して 1 秒の遅延を追加したいと思いますが、これを達成する方法がわかりません。タイマーは終了時にシグナルをトリガーするため、シグナルはパラメーターを取り込まない別のメソッドにアタッチする必要があります。このタスクを達成する方法について何か提案はありますか?
更新: シグナルは 1 秒間に複数回呼び出され、遅延は 1 秒間になります。ここでの問題は、タイマーの timeout() シグナルに接続されたスロットにパラメーターを渡すことです。私の最後のアプローチは、クラスのメンバー変数に値を格納し、ミューテックスを使用して、変数が使用されている間に変更されないようにすることです.しかし、私はここでより単純な方法を探しています.