質問

私は、サブクラス化QSpinBoxのの束を含むサブクラスQDialogを持っています。スピンボックスをクリックすると、あなたは押しボタンを使用することができますキーパッド(別QDialogは)数字を入力します。どちらQDialogのはQDialogを呼び出すことによって活性化される:: EXEC();

この第二QDialogを開くときにしかし、最初のものは下に閉じます。私はそれを通じて段階と第一QDialogはまだ終わっていない気づきました。 QDialog 1は「QDialogを::拒否」送り出す私は私がしたいと思う何QDialog 2.終了したらいないすべての端にQDialog 1で、それが入力された値とスピンボックスを更新し、他のスピンボックスのためのより多くのQDialogのを開く必要がありますユーザーは、後で編集したい。

私はそれがQDialog 1のイベントループがQDialog 2のイベントループによって殺されているとしなければならないと思います。私は、ウィジェットが一瞬(ミリ秒)のためにポップアップしますが、アクティブに滞在しませんQDialog 2にQDialog ::ショーを使用してみました。 QDialog 1はすぐにもクローズされます。

役に立ちましたか?

解決

QDialog 1は、Qtの::ポップアップに設定されている、QDialog 2は、デフォルトではQt ::ダイアログに設定しました。ポップアップイベントの広い範囲を下に閉じます。私はQtのにQDialog 2のフラグを設定しました::ポップアップをだけでなく、もうQDialog 1閉鎖していないようだこれます。

他のヒント

あなたは、コードを口頭で説明してきたように、あなたはあなたが記述問題を見てすべきではありません。あなたの実際のコードを見てなければ、私は問題を引き起こしているものについての推測をハザードことができませんでした。しかし、私は確信を持って言うことができる私は、(ボタンから)ダイアログB上の実行exec()の内側に、ダイアログAにexec()を実行し、ダイアログBが終了可能なダイアログAの滞在を持っていた。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top