QDoubleSpinBox Class
QDoubleSpinBox クラスは、ダブルを取るスピンボックスウィジェットを提供します。詳細...
Header: | #include <QDoubleSpinBox> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Inherits: | 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) |
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 に設定します。シングル ステップまたはアダプティブ 10 進ステップです。
アダプティブデシマルステップとは、ステップサイズが現在の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()も参照して ください。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。