私のアプリケーションにはCAMAシリーズ(フィンガープリントモジュール)を使用しています。このドキュメントでは、アプリケーションを終了する前にEnrollStandByMode
コマンドを使用することを推奨しています。私はこのコマンドを作成し、私のアプリケーションのQMainWindow上の私のデストラクタで呼び出す。 (ここに問題はない)。しかし、アプリケーションを終了して再度実行すると、指紋が混乱し、応答コマンドが正しく表示されません。私のコードをトレースした後、アプリケーションがクローズボタンで閉じると、デストラクタは実行されませんでした。アプリケーションを終了したいときにqt内のデストラクタを自動的に呼び出す方法は?
qappを終了するコードです。
void MainWindow::on_pushButton_clicked()
{
qDebug()«"QApplication::quit()";
QApplication::quit();
}
アプリケーションを終了する前にデストラクタを呼び出す方法を知りたいですか?
これはうまくいきませんので、答えはありませんが、デストラクタでEnrollStandByModeを呼び出してそのクラスのグローバル変数を持つことを唯一の目的とするクラスはどうですか? C++ランタイムライブラリは、すべてのグローバル変数のデストラクタを呼び出す必要があります(ただし、他のグローバルが既に破壊されている可能性があるので注意してください)。 –
あなたはまず、このメソッドを呼び出すだけのクラスを作成してから、それを呼び出すためのグローバル変数を作成するのですか?どうすればそれができますか?あなたはそれを説明できますか?tnx in advance –
@ H.Ghassami私は、あなたが明示的に 'QApplication :: quit();'と呼ぶことを見てきました。 'on_pushButton_clicked'の中でウィンドウを閉じるだけではどうでしょうか?どちらの場合も申請は終了します。 – skypjack