QWizardPage
想定以上のことをするために曲げようとしていると思われるため、問題が発生していますが、これを行う方法があるかもしれません.
そのため、私は 内に多数のページを持っており、QWizard
ある特定のページで、いくつかのハードウェアに対して一連のテストを実行し、結果をデータベースに保存します。必要に応じてキャンセルできるようにしたい。ただし、現時点ではキャンセル ボタンは QWizard の一部であるため、その処理方法がわかりません。
reject()
機能をオーバーライドして現在のページを特定し、それが興味のあるページである場合は何かを実行できることを認識してQWizard
いますが、必要がない限り、この方法でページを結び付けたくありません。
rejected()
次のように信号をウィザードに接続しようとしました:
connect(this, SIGNAL(rejected()), ui->runTestPage, SLOT(on_rejected()));
しかし、これはとにかくページを即座に閉じてから、ユーザーに何かを表示してキャンセルしていることを伝えます。
テストの実行中にキャンセルを許可するボタンをウィザード ページに追加できますが、ページにはまだメインのキャンセル ボタンがあります。実際、テストが完了した後でもキャンセルが表示されるので、それを削除または無効にすることが適切に思えます。
それで、これは私ができることですか、それともウィザードの使用全体を再検討する必要がありますか?