QDoubleValidator 類為浮點數提供範圍校驗。 更多...
| 頭: | #include <QDoubleValidator> |
| qmake: | QT += gui |
| 繼承: | QValidator |
| enum | Notation { StandardNotation, ScientificNotation } |
| QDoubleValidator (double bottom , double top , int decimals , QObject * parent = nullptr) | |
| QDoubleValidator (QObject * parent = nullptr) | |
| virtual | ~QDoubleValidator () |
| double | bottom () const |
| int | decimals () const |
| QDoubleValidator::Notation | notation () const |
| void | setBottom ( double ) |
| void | setDecimals ( int ) |
| void | setNotation ( QDoubleValidator::Notation ) |
| virtual void | setRange (double minimum , double maximum , int decimals = 0) |
| void | setTop ( double ) |
| double | top () const |
| virtual QValidator::State | validate (QString & input , int & pos ) const override |
| void | bottomChanged (double bottom ) |
| void | decimalsChanged (int decimals ) |
| void | notationChanged (QDoubleValidator::Notation notation ) |
| void | topChanged (double top ) |
QDoubleValidator provides an upper bound, a lower bound, and a limit on the number of digits after the decimal point. It does not provide a fixup () 函數。
You can set the acceptable range in one call with setRange (), or with setBottom () 和 setTop (). Set the number of decimal places with setDecimals ()。 validate () function returns the validation state.
QDoubleValidator uses its locale () to interpret the number. For example, in the German locale, "1,234" will be accepted as the fractional number 1.234. In Arabic locales, QDoubleValidator will accept Arabic digits.
注意: The QLocale::NumberOptions 設置在 locale () 還會影響數字的解釋方式。例如,由於 QLocale::RejectGroupSeparator 默認未設置,驗證器將接受組分隔符。因此推薦使用 QLocale::toDouble () 獲得數值。
另請參閱 QIntValidator , QRegExpValidator , QLocale::toDouble (),和 行編輯範例 .
This enum defines the allowed notations for entering a double.
| 常量 | 值 | 描述 |
|---|---|---|
QDoubleValidator::StandardNotation
|
0
|
The string is written as a standard number (i.e. 0.015). |
QDoubleValidator::ScientificNotation
|
1
|
The string is written in scientific form. It may have an exponent part(i.e. 1.5E-2). |
該枚舉在 Qt 4.3 引入或被修改。
This property holds the validator's minimum acceptable value
By default, this property contains a value of -infinity.
訪問函數:
| double | bottom () const |
| void | setBottom ( double ) |
通知程序信號:
| void | bottomChanged (double bottom ) |
另請參閱 setRange ().
This property holds the validator's maximum number of digits after the decimal point
By default, this property contains a value of 1000.
訪問函數:
| int | decimals () const |
| void | setDecimals ( int ) |
通知程序信號:
| void | decimalsChanged (int decimals ) |
另請參閱 setRange ().
This property holds the notation of how a string can describe a number
默認情況下,此特性被設為 ScientificNotation .
該特性在 Qt 4.3 引入。
訪問函數:
| QDoubleValidator::Notation | notation () const |
| void | setNotation ( QDoubleValidator::Notation ) |
通知程序信號:
| void | notationChanged (QDoubleValidator::Notation notation ) |
另請參閱 Notation .
This property holds the validator's maximum acceptable value
By default, this property contains a value of infinity.
訪問函數:
| double | top () const |
| void | setTop ( double ) |
通知程序信號:
| void | topChanged (double top ) |
另請參閱 setRange ().
Constructs a validator object with a parent object. This validator will accept doubles from bottom to top inclusive, with up to decimals digits after the decimal point.
Constructs a validator object with a parent object that accepts any double.
[虛擬]
QDoubleValidator::
~QDoubleValidator
()
銷毀驗證器。
[虛擬]
void
QDoubleValidator::
setRange
(
double
minimum
,
double
maximum
,
int
decimals
= 0)
Sets the validator to accept doubles from minimum to maximum inclusive, with at most decimals digits after the decimal point.
[override virtual]
QValidator::State
QDoubleValidator::
validate
(
QString
&
input
,
int
&
pos
) const
重實現: QValidator::validate (QString &input, int &pos) const.
返迴 Acceptable 若字符串 input contains a double that is within the valid range and is in the correct format.
返迴 中間體 if input contains a double that is outside the range or is in the wrong format; e.g. is empty.
返迴 Invalid 若 input is not a double or with too many digits after the decimal point.
Note: If the valid range consists of just positive doubles (e.g. 0.0 to 100.0) and input is a negative double then Invalid 被返迴。若 notation () 被設為 StandardNotation , and the input contains more digits before the decimal point than a double in the valid range may have, Invalid 被返迴。若 notation () 是 ScientificNotation , and the input is not in the valid range, 中間體 is returned. The value may yet become valid by changing the exponent.
默認情況下, pos 參數並未用於此驗證器。