スピンボックス、コンボボックス、およびその他の変数群をアプリケーションごとに設定できるとします。コントロールパネル、もしあれば。そのうちの1つはQDoubleSpinBox *dec
で、通常は小数点以下を使用して使用しますが、選択したエントリに応じていくつかのスピンボックスとコンボボックスを動的に有効/無効にする特定のコンボボックスがあります。そのような変更の1つは、スピンボックスdec
を使用します。その時間は、整数値と増分に制限する必要があります。QDoubleSpinBoxで一時的に整数を使用する
dec
が正常範囲0.00..99.99
を有しており、Iは、制御コンボボックスにその特定のエントリを選択したときに増分は、0.1
であれば、例えば、私は(99
がうまくある)と同じ範囲にあることがdec
を必要とするが、発光(つまり、範囲は0..99
、ステップサイズは1
です)。
私はコンボボックスの特定のエントリに対してsetDecimals()
とsetSingleStep()
を単に強制的に加えることができることを発見しましたが(Qtの初心者)、変更を元に戻すことができるように、コードにこれにはより良い解決策がありますか?
あなたのスピンボックスが突然ダブルスを許さないならば、それは概念的に異なり、整数のための通常のスピンボックスに置き換えるべきです。 必要ならば、両方のスピンボックスを共存させ、必要に応じて 'hide()'と 'show()'を使うことができます。 – oLen
これは悪い解決策ではありません。実際には、(setDecimals()やsetSingleStep()のように)他のすべてのコンボエントリに対して 'hide()'と 'show() )。これを答えとして追加します。他に何も付随しない場合、これは私の醜いハックと比べてより良い実装です。 –
あなたの解決策は 'setDecimals'と' setSingleStep'で簡単です。別の方法は、複数のウィジェットを積み重ねて値を同期させることです。 –