2012-01-13 18 views
1

QSpinBoxesとQDoubleSpinBoxなどが含まれているQt GUIを作成しました。 QSpinBoxに数字を入力して「Enter」キーを押して入力を終了すると、タブ順で最初のウィジェットがアクティブになります。つまり、myの値を変更するのではなくスピンボックス、私はまた私のダイアログの上部にあるボタンを押している - 私はしたくない。これをどうすれば解決できますか? (スピンボックスキーボード・トラックが無効になっているので、私は、受け入れられるために、新たな価値のためにEnterキーを押す必要があることに注意してください。)キーボードでQt GUIにデータを入力する:入力時に意図せぬ副作用が発生する

EDITを:http://developer.qt.nokia.com/doc/qt-4.8/eventsandfilters.html

+0

フォーカスをスピンボックスに変更するのを忘れましたか?もしそうなら、それはあなたの問題をかなり説明します。フォーカスが外れているアイテムが選択されている場合でも、アクティブなフォーカスのメソッドが呼び出されます。 – mmoment

+0

しかし、私がスピンボックスをクリックするだけでフォーカスが得られます。つまり、タイプすることができます。または_focus_が意味するものを誤解していますか? – xqrp

答えて

3

は私が何を思う:場合は、誰かが同様の問題に遭遇Enterキーを押したときにQDialogdefault buttonが押されている可能性があります。

あなたはQDialogを自分でサブクラス化している場合は、あなたのQPushButton Sの一つは、それがtrueに設定default propertyだました。これをfalseに戻すと、フォーカスがない限り、Enterキーに反応しません。ここでの短所は、たとえばデフォルト値に固執したい場合は、Enterキーを押してダイアログを閉じることができないことです。

+0

あなたの答えをありがとう、問題は本当に私は 'autoDefault'プロパティを解除することを忘れたボタンでした。 – xqrp

関連する問題