QDoubleSpinBox Class
QDoubleSpinBox クラスは、ダブルを取るスピンボックスウィジェットを提供します。詳細...
ヘッダー | #include <QDoubleSpinBox> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
継承: | QAbstractSpinBox |
プロパティ
|
パブリック関数
QDoubleSpinBox(QWidget *parent = nullptr) | |
virtual | ~QDoubleSpinBox() |
QString | cleanText() const |
int | decimals() const |
double | maximum() const |
double | minimum() const |
QString | prefix() const |
void | setDecimals(int prec) |
void | setMaximum(double max) |
void | setMinimum(double min) |
void | setPrefix(const QString &prefix) |
void | setRange(double minimum, double maximum) |
void | setSingleStep(double val) |
void | setStepType(QAbstractSpinBox::StepType stepType) |
void | setSuffix(const QString &suffix) |
double | singleStep() const |
QAbstractSpinBox::StepType | stepType() const |
QString | suffix() const |
virtual QString | textFromValue(double value) const |
double | value() const |
virtual double | valueFromText(const QString &text) const |
再実装パブリック関数
virtual void | fixup(QString &input) const override |
virtual QValidator::State | validate(QString &text, int &pos) const override |
パブリック・スロット
void | setValue(double val) |
シグナル
void | textChanged(const QString &text) |
void | valueChanged(double d) |
詳細説明
QDoubleSpinBox では、上下ボタンをクリックするか、キーボードの Up または Down を押して値を選択し、現在表示されている値を増減できます。ユーザーは手動で値を入力することもできます。スピンボックスはダブル値をサポートしていますが、validate()、textFromValue()、valueFromText()を使用して異なる文字列を使用するように拡張することができます。
QString textChanged prefix suffix値が変更されるたびに、QDoubleSpinBox はvalueChanged() とtextChanged() シグナルを出力します。現在の値は、value() で取得でき、setValue() で設定できます。
注意: QDoubleSpinBox は、現在の精度で表示できるように数値を丸めます。小数が 2 に設定された QDoubleSpinBox では、setValue(2.555) を呼び出すと、value() は 2.56 を返します。
上下のボタンをクリックするか、キーボード・アクセラレータの上矢印と下矢印を使用すると、現在の値がsingleStep() サイズのステップで増減します。この動作を変更したい場合は、仮想関数stepBy() を再実装してください。最小値、最大値、およびステップサイズはコンストラクタのいずれかを使用して設定でき、setMinimum()、setMaximum()、setSingleStep() を使用して後で変更できます。スピンボックスのデフォルトの精度は小数点以下2桁ですが、setDecimals() で変更できます。
ほとんどのスピンボックスは方向性がありますが、QDoubleSpinBoxは円形のスピンボックスとしても動作します。例えば、範囲が0.0-99.9で現在の値が99.9の場合、wrapping() がtrueに設定されていれば、"up "をクリックすると0が表示されます。循環的な動作が必要な場合は、setWrapping() を使用する。
表示される値には、通貨や単位などを示す任意の文字列を前置したり付加したりすることができる。setPrefix() およびsetSuffix() を参照してください。スピン・ボックスのテキストは、text() (prefix() とsuffix() を含む)、またはcleanText() (prefix() とsuffix() がなく、先頭または末尾に空白がない) で取得されます。
数値の範囲に加えて、ユーザーに特別な(多くの場合デフォルトの)選択肢を与えることが望ましい場合が多い。QDoubleSpinBox でこれを行う方法については、setSpecialValueText() を参照してください。
注意: QDoubleSpinBox の表示値は、接頭辞と接尾辞の内容に加えて 18 文字に制限されています。この制限は、非常に大きな値でもダブルスピンボックスを使用可能に保つために使用されます。
QSpinBox,QDateTimeEdit,QSlider,Spin Boxes Exampleも参照してください 。
プロパティのドキュメント
[read-only]
cleanText : const QString
このプロパティは、接頭辞、接尾辞、先頭または末尾の空白を除いたスピンボックスのテキストを保持します。
アクセス関数:
QString | cleanText() const |
text 、QDoubleSpinBox::prefix 、QDoubleSpinBox::suffixも参照してください 。
decimals : int
このプロパティは、スピンボックスの精度を小数で保持します。
スピンボックスが倍数の表示と解釈に使用する小数点以下の桁数を設定します。
警告 double型の制限により、decimals の最大値は DBL_MAX_10_EXP + DBL_DIG (つまり323) です。
注意:このプロパティを変更すると、最大値、最小値、および値が変更される場合があります。
アクセス関数:
int | decimals() const |
void | setDecimals(int prec) |
maximum : double
このプロパティは、スピンボックスの最大値を保持します。
このプロパティを設定するとき、minimum は必要に応じて調整され、範囲が有効であることを保証します。
デフォルトの最大値は99.99です。
注意: 最大値は、小数のプロパティと一致するように丸められます。
アクセス関数:
double | maximum() const |
void | setMaximum(double max) |
decimals およびsetRange()も参照のこと 。
minimum : double
このプロパティは、スピンボックスの最小値を保持します。
このプロパティを設定するとき、maximum は、範囲が有効なままであることを保証するために必要に応じて調整されます。
デフォルトの最小値は0.0です。
注意:最小値は、小数プロパティと一致するように丸められます。
アクセス関数:
double | minimum() const |
void | setMinimum(double min) |
decimals 、setRange()、specialValueTextも参照のこと 。
prefix : QString
このプロパティは、スピンボックスのプレフィックスを保持します。
接頭辞は、表示される値の先頭に付加されます。典型的な使用法は、測定単位または通貨記号を表示することです。例えば
spinbox->setPrefix("$");
接頭辞の表示をオフにするには、このプロパティに空の文字列を設定します。デフォルトは接頭辞なし。value() ==minimum() およびspecialValueText() が設定されている場合、接頭辞は表示されません。
接頭辞が設定されていない場合、prefix() は空文字列を返します。
アクセス関数:
QString | prefix() const |
void | setPrefix(const QString &prefix) |
suffix()、setSuffix()、specialValueText()、setSpecialValueText()も参照 。
singleStep : double
このプロパティはステップ値を保持します。
ユーザーが矢印を使用してスピンボックスの値を変更すると、値はsingleStepの量だけ増減します。デフォルト値は1.0です。singleStepの値を0未満に設定しても何も起こりません。
関数にアクセスします:
double | singleStep() const |
void | setSingleStep(double val) |
stepType : StepType
このプロパティは、ステップタイプを保持する。
ステップタイプは、シングルステップまたはアダプティブ10進ステップである。
アクセス関数
QAbstractSpinBox::StepType | stepType() const |
void | setStepType(QAbstractSpinBox::StepType stepType) |
suffix : QString
このプロパティは、スピンボックスのサフィックスを保持します。
サフィックスは、表示される値の末尾に付加されます。典型的な使用方法は、測定単位または通貨記号を表示することです。例えば
spinbox->setSuffix(" km");
サフィックス表示をオフにするには、このプロパティに空の文字列を設定します。デフォルトは接尾辞なしです。specialValueText() が設定されている場合、minimum() には接尾辞は表示されません。
サフィックスが設定されていない場合、suffix() は空文字列を返します。
アクセス関数:
QString | suffix() const |
void | setSuffix(const QString &suffix) |
prefix()、setPrefix()、specialValueText()、setSpecialValueText()も参照 。
value : double
このプロパティは、スピンボックスの値を保持します。
新しい値が古い値と異なる場合、setValue() はvalueChanged() を発信します。value プロパティには、スピンボックスのプレフィックスとサフィックスを含む 2 番目の通知シグナルがあります。
注意: 値は、現在の小数点以下の設定で表示できるように丸められます。
アクセス関数
double | value() const |
void | setValue(double val) |
ノーティファイアシグナル:
void | valueChanged(double d) |
decimalsも参照してください 。
メンバ関数のドキュメント
[explicit]
QDoubleSpinBox::QDoubleSpinBox(QWidget *parent = nullptr)
最小値として0.0、最大値として99.99、ステップ値として1.0、小数点以下2桁の精度を持つスピンボックスを構築します。初期値は0.00に設定されます。スピンボックスは与えられたparent を持ちます。
setMinimum(),setMaximum(),setSingleStep()も参照してください 。
[virtual noexcept]
QDoubleSpinBox::~QDoubleSpinBox()
破壊者。
[override virtual]
void QDoubleSpinBox::fixup(QString &input) const
再実装:QAbstractSpinBox::fixup(QString &input) const.
void QDoubleSpinBox::setRange(double minimum, double maximum)
1回の関数呼び出しでminimum とmaximum の値を設定する便利な関数。
注:最大値と最小値は、小数のプロパティに合わせて丸められます。
setRange(minimum, maximum);
は等価です:
setMinimum(minimum); setMaximum(maximum);
void QDoubleSpinBox::setStepType(QAbstractSpinBox::StepType stepType)
スピンボックスのステップタイプをstepType に設定します。シングルステップまたはアダプティブ・デシマルステップです。
アダプティブ・デシマル・ステップとは、ステップ・サイズが現在のvalue よりも10の1乗小さい値に継続的に調整されることを意味します。つまり、値が1100のとき、ステップは100に設定されているので、1回ステップアップすると1200になる。1200の場合、ステップアップすると1300になる。負の値の場合、-1100からステップダウンすると-1200になる。
0.041は1回ステップすることで0.042になります。
ステップの方向は、100からステップダウンすると90ではなく99になるように、エッジケースを処理するために考慮されます。したがって、ステップアップとステップダウン、またはその逆は、常に開始値に着地します。
これを設定すると、スピンボックスはsingleStep の値を無視するようになりますが、アダプティブデシマルステップが後でオフにされた場合、singleStep が有効になるように保存されます。
注: プロパティstepType のセッター関数です。
stepType()も参照してください 。
[signal]
void QDoubleSpinBox::textChanged(const QString &text)
このシグナルは、スピンボックスのテキストが変更されるたびに発行されます。新しいテキストはprefix() とsuffix() でtext に渡されます。
[virtual]
QString QDoubleSpinBox::textFromValue(double value) const
この仮想関数は、スピンボックスが与えられたvalue を表示する必要があるときに使用されます。デフォルトの実装は、QWidget::locale() を使用して印刷されたvalue を含む文字列を返します。toString(value,u'f'
,decimals()) と、setGroupSeparatorShown() が設定されていない限り、千区切りは削除されます。再実装は何でも返すことができる。
注意:QDoubleSpinBox はspecialValueText() に対してこの関数を呼び出さない。また、prefix() もsuffix() も戻り値に含めるべきでない。
これを再実装する場合、valueFromText()も再実装する必要があるかもしれない。
valueFromText() およびQLocale::groupSeparator()も参照 。
[override virtual]
QValidator::State QDoubleSpinBox::validate(QString &text, int &pos) const
再実装:QAbstractSpinBox::validate(QString &input, int &pos) const.
[signal]
void QDoubleSpinBox::valueChanged(double d)
このシグナルはスピンボックスの値が変更されるたびに発行されます。新しい値はd で渡されます。
注意: value プロパティ用のノーティファイアシグナルです。
[virtual]
double QDoubleSpinBox::valueFromText(const QString &text) const
この仮想関数は、ユーザーによって入力されたtext を値として解釈する必要があるときに、スピンボックスによって使用されます。
数値以外の方法でスピンボックスの値を表示する必要があるサブクラスは、この関数を再実装する必要があります。
注意:QDoubleSpinBox はspecialValueText() を個別に処理します。この関数はその他の値のみを扱います。
textFromValue() およびvalidate()も参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.