Qt 4.8
Public Types | Public Functions | Properties | List of all members
QDoubleValidator Class Reference

The QDoubleValidator class provides range checking of floating-point numbers. More...

#include <qvalidator.h>

Inheritance diagram for QDoubleValidator:
QValidator QObject

Public Types

enum  Notation { StandardNotation, ScientificNotation }
 This enum defines the allowed notations for entering a double. More...
 
- Public Types inherited from QValidator
enum  State { Invalid, Intermediate, Acceptable }
 This enum type defines the states in which a validated string can exist. More...
 

Public Functions

double bottom () const
 
int decimals () const
 
Notation notation () const
 
 QDoubleValidator (QObject *parent=0)
 Constructs a validator object with a parent object that accepts any double. More...
 
 QDoubleValidator (double bottom, double top, int decimals, QObject *parent=0)
 Constructs a validator object with a parent object. More...
 
void setBottom (double)
 
void setDecimals (int)
 
void setNotation (Notation)
 
virtual void setRange (double bottom, double top, int decimals=0)
 Sets the validator to accept doubles from minimum to maximum inclusive, with at most decimals digits after the decimal point. More...
 
void setTop (double)
 
double top () const
 
QValidator::State validate (QString &, int &) const
 Returns Acceptable if the string input contains a double that is within the valid range and is in the correct format. More...
 
 ~QDoubleValidator ()
 Destroys the validator. More...
 
- Public Functions inherited from QValidator
virtual void fixup (QString &) const
 This function attempts to change input to be valid according to this validator's rules. More...
 
QLocale locale () const
 Returns the locale for the validator. More...
 
 QValidator (QObject *parent=0)
 Sets up the validator. More...
 
void setLocale (const QLocale &locale)
 Sets the locale that will be used for the validator. More...
 
 ~QValidator ()
 Destroys the validator, freeing any storage and other resources used. More...
 
- Public Functions inherited from QObject
bool blockSignals (bool b)
 If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More...
 
const QObjectListchildren () const
 Returns a list of child objects. More...
 
bool connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const
 
bool disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0)
 
bool disconnect (const QObject *receiver, const char *member=0)
 
void dumpObjectInfo ()
 Dumps information about signal connections, etc. More...
 
void dumpObjectTree ()
 Dumps a tree of children to the debug output. More...
 
QList< QByteArraydynamicPropertyNames () const
 Returns the names of all properties that were dynamically added to the object using setProperty(). More...
 
virtual bool event (QEvent *)
 This virtual function receives events to an object and should return true if the event e was recognized and processed. More...
 
virtual bool eventFilter (QObject *, QEvent *)
 Filters events if this object has been installed as an event filter for the watched object. More...
 
template<typename T >
findChild (const QString &aName=QString()) const
 Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More...
 
template<typename T >
QList< T > findChildren (const QString &aName=QString()) const
 Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More...
 
template<typename T >
QList< T > findChildren (const QRegExp &re) const
 
bool inherits (const char *classname) const
 Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More...
 
void installEventFilter (QObject *)
 Installs an event filter filterObj on this object. More...
 
bool isWidgetType () const
 Returns true if the object is a widget; otherwise returns false. More...
 
void killTimer (int id)
 Kills the timer with timer identifier, id. More...
 
virtual const QMetaObjectmetaObject () const
 Returns a pointer to the meta-object of this object. More...
 
void moveToThread (QThread *thread)
 Changes the thread affinity for this object and its children. More...
 
QString objectName () const
 
QObjectparent () const
 Returns a pointer to the parent object. More...
 
QVariant property (const char *name) const
 Returns the value of the object's name property. More...
 
Q_INVOKABLE QObject (QObject *parent=0)
 Constructs an object with parent object parent. More...
 
void removeEventFilter (QObject *)
 Removes an event filter object obj from this object. More...
 
void setObjectName (const QString &name)
 
void setParent (QObject *)
 Makes the object a child of parent. More...
 
bool setProperty (const char *name, const QVariant &value)
 Sets the value of the object's name property to value. More...
 
void setUserData (uint id, QObjectUserData *data)
 
bool signalsBlocked () const
 Returns true if signals are blocked; otherwise returns false. More...
 
int startTimer (int interval)
 Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More...
 
QThreadthread () const
 Returns the thread in which the object lives. More...
 
QObjectUserDatauserData (uint id) const
 
virtual ~QObject ()
 Destroys the object, deleting all its child objects. More...
 

Properties

double b
 
double bottom
 the validator's minimum acceptable value More...
 
int dec
 
int decimals
 the validator's maximum number of digits after the decimal point More...
 
Notation notation
 the notation of how a string can describe a number More...
 
double t
 
double top
 the validator's maximum acceptable value More...
 

Additional Inherited Members

- Public Slots inherited from QObject
void deleteLater ()
 Schedules this object for deletion. More...
 
- Signals inherited from QObject
void destroyed (QObject *=0)
 This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More...
 
- Static Public Functions inherited from QObject
static bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
 Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More...
 
static bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection)
 
static bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member)
 Disconnects signal in object sender from method in object receiver. More...
 
static bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member)
 
static uint registerUserData ()
 
static QString tr (const char *sourceText, const char *comment=0, int n=-1)
 
static QString trUtf8 (const char *sourceText, const char *comment=0, int n=-1)
 
- Static Public Variables inherited from QObject
static const QMetaObject staticMetaObject
 This variable stores the meta-object for the class. More...
 
- Protected Functions inherited from QValidator
 QValidator (QObjectPrivate &d, QObject *parent)
 
 QValidator (QValidatorPrivate &d, QObject *parent)
 
- Protected Functions inherited from QObject
virtual void childEvent (QChildEvent *)
 This event handler can be reimplemented in a subclass to receive child events. More...
 
virtual void connectNotify (const char *signal)
 This virtual function is called when something has been connected to signal in this object. More...
 
virtual void customEvent (QEvent *)
 This event handler can be reimplemented in a subclass to receive custom events. More...
 
virtual void disconnectNotify (const char *signal)
 This virtual function is called when something has been disconnected from signal in this object. More...
 
 QObject (QObjectPrivate &dd, QObject *parent=0)
 
int receivers (const char *signal) const
 Returns the number of receivers connected to the signal. More...
 
QObjectsender () const
 Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More...
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *)
 This event handler can be reimplemented in a subclass to receive timer events for the object. More...
 
- Protected Variables inherited from QObject
QScopedPointer< QObjectDatad_ptr
 
- Static Protected Variables inherited from QObject
static const QMetaObject staticQtMetaObject
 

Detailed Description

The QDoubleValidator class provides range checking of floating-point numbers.

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() function.

You can set the acceptable range in one call with setRange(), or with setBottom() and setTop(). Set the number of decimal places with setDecimals(). The 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.

In addition, QDoubleValidator is always guaranteed to accept a number formatted according to the "C" locale. QDoubleValidator will not accept numbers with thousand-separators.

See also
QIntValidator, QRegExpValidator, {Line Edits Example}

Definition at line 134 of file qvalidator.h.

Enumerations

◆ Notation

This enum defines the allowed notations for entering a double.

Since
4.3
  • StandardNotation The string is written as a standard number (i.e. 0.015).
  • ScientificNotation The string is written in scientific form. It may have an exponent part(i.e. 1.5E-2).
Enumerator
StandardNotation 
ScientificNotation 

Definition at line 148 of file qvalidator.h.

Constructors and Destructors

◆ QDoubleValidator() [1/2]

QDoubleValidator::QDoubleValidator ( QObject parent = 0)
explicit

Constructs a validator object with a parent object that accepts any double.

Definition at line 584 of file qvalidator.cpp.

Referenced by QDoubleValidator().

585  : QValidator(*new QDoubleValidatorPrivate , parent)
586 {
587  b = -HUGE_VAL;
588  t = HUGE_VAL;
589  dec = 1000;
590 }
QValidator(QObject *parent=0)
Sets up the validator.
Definition: qvalidator.cpp:151

◆ QDoubleValidator() [2/2]

QDoubleValidator::QDoubleValidator ( double  bottom,
double  top,
int  decimals,
QObject parent = 0 
)

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.

Definition at line 599 of file qvalidator.cpp.

601  : QValidator(*new QDoubleValidatorPrivate , parent)
602 {
603  b = bottom;
604  t = top;
605  dec = decimals;
606 }
QValidator(QObject *parent=0)
Sets up the validator.
Definition: qvalidator.cpp:151
int decimals() const
Definition: qvalidator.h:163
double top() const
Definition: qvalidator.h:162
double bottom() const
Definition: qvalidator.h:161

◆ ~QDoubleValidator()

QDoubleValidator::~QDoubleValidator ( )

Destroys the validator.

Definition at line 655 of file qvalidator.cpp.

656 {
657 }

Functions

◆ bottom()

double QDoubleValidator::bottom ( ) const
inline

Definition at line 161 of file qvalidator.h.

Referenced by QDoubleValidator(), setDecimals(), and setTop().

161 { return b; }

◆ decimals()

int QDoubleValidator::decimals ( ) const
inline

Definition at line 163 of file qvalidator.h.

Referenced by QDoubleValidator(), setBottom(), setRange(), and setTop().

163 { return dec; }

◆ notation()

Notation QDoubleValidator::notation ( ) const

◆ setBottom()

void QDoubleValidator::setBottom ( double  bottom)

Definition at line 774 of file qvalidator.cpp.

775 {
776  setRange(bottom, top(), decimals());
777 }
int decimals() const
Definition: qvalidator.h:163
virtual void setRange(double bottom, double top, int decimals=0)
Sets the validator to accept doubles from minimum to maximum inclusive, with at most decimals digits ...
Definition: qvalidator.cpp:755
double top() const
Definition: qvalidator.h:162
double bottom() const
Definition: qvalidator.h:161

◆ setDecimals()

void QDoubleValidator::setDecimals ( int  decimals)

Definition at line 809 of file qvalidator.cpp.

810 {
811  setRange(bottom(), top(), decimals);
812 }
int decimals() const
Definition: qvalidator.h:163
virtual void setRange(double bottom, double top, int decimals=0)
Sets the validator to accept doubles from minimum to maximum inclusive, with at most decimals digits ...
Definition: qvalidator.cpp:755
double top() const
Definition: qvalidator.h:162
double bottom() const
Definition: qvalidator.h:161

◆ setNotation()

void QDoubleValidator::setNotation ( Notation  newNotation)

Definition at line 827 of file qvalidator.cpp.

828 {
830  d->notation = newNotation;
831 }
double d
Definition: qnumeric_p.h:62
#define Q_D(Class)
Definition: qglobal.h:2482
The QDoubleValidator class provides range checking of floating-point numbers.
Definition: qvalidator.h:134

◆ setRange()

void QDoubleValidator::setRange ( double  bottom,
double  top,
int  decimals = 0 
)
virtual

Sets the validator to accept doubles from minimum to maximum inclusive, with at most decimals digits after the decimal point.

Definition at line 755 of file qvalidator.cpp.

Referenced by setBottom(), setDecimals(), and setTop().

756 {
757  b = minimum;
758  t = maximum;
759  dec = decimals;
760 }
int decimals() const
Definition: qvalidator.h:163

◆ setTop()

void QDoubleValidator::setTop ( double  top)

Definition at line 792 of file qvalidator.cpp.

793 {
794  setRange(bottom(), top, decimals());
795 }
int decimals() const
Definition: qvalidator.h:163
virtual void setRange(double bottom, double top, int decimals=0)
Sets the validator to accept doubles from minimum to maximum inclusive, with at most decimals digits ...
Definition: qvalidator.cpp:755
double top() const
Definition: qvalidator.h:162
double bottom() const
Definition: qvalidator.h:161

◆ top()

double QDoubleValidator::top ( ) const
inline

Definition at line 162 of file qvalidator.h.

Referenced by QDoubleValidator(), setBottom(), and setDecimals().

162 { return t; }

◆ validate()

QValidator::State QDoubleValidator::validate ( QString input,
int &  pos 
) const
virtual

Returns Acceptable if the string input contains a double that is within the valid range and is in the correct format.

Returns Intermediate if input contains a double that is outside the range or is in the wrong format; e.g. with too many digits after the decimal point or is empty.

Returns Invalid if the input is not a double.

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 is returned. If notation() is set to StandardNotation, and the input contains more digits before the decimal point than a double in the valid range may have, Invalid is returned. If notation() is ScientificNotation, and the input is not in the valid range, Intermediate is returned. The value may yet become valid by changing the exponent.

By default, the pos parameter is not used by this validator.

Implements QValidator.

Definition at line 689 of file qvalidator.cpp.

690 {
691  Q_D(const QDoubleValidator);
692 
694  switch (d->notation) {
695  case StandardNotation:
697  break;
698  case ScientificNotation:
700  break;
701  }
702 
703  State currentLocaleValidation = d->validateWithLocale(input, numMode, locale());
704  if (currentLocaleValidation == Acceptable || locale().language() == QLocale::C)
705  return currentLocaleValidation;
706  State cLocaleValidation = d->validateWithLocale(input, numMode, QLocale(QLocale::C));
707  return qMax(currentLocaleValidation, cLocaleValidation);
708 }
double d
Definition: qnumeric_p.h:62
QLocale locale() const
Returns the locale for the validator.
Definition: qvalidator.cpp:188
#define Q_D(Class)
Definition: qglobal.h:2482
Q_DECL_CONSTEXPR const T & qMax(const T &a, const T &b)
Definition: qglobal.h:1217
QLocale::Language language
The State element defines configurations of objects and properties.
The QDoubleValidator class provides range checking of floating-point numbers.
Definition: qvalidator.h:134

Properties

◆ b

double QDoubleValidator::b
private

Definition at line 176 of file qvalidator.h.

Referenced by QDoubleValidator(), and setRange().

◆ bottom

QDoubleValidator::bottom
private

the validator's minimum acceptable value

By default, this property contains a value of -infinity.

See also
setRange()

Definition at line 137 of file qvalidator.h.

◆ dec

int QDoubleValidator::dec
private

Definition at line 178 of file qvalidator.h.

Referenced by QDoubleValidator(), and setRange().

◆ decimals

QDoubleValidator::decimals
private

the validator's maximum number of digits after the decimal point

By default, this property contains a value of 1000.

See also
setRange()

Definition at line 139 of file qvalidator.h.

◆ notation

QDoubleValidator::Notation QDoubleValidator::notation
private

the notation of how a string can describe a number

Since
4.3

By default, this property is set to ScientificNotation.

See also
Notation

Definition at line 141 of file qvalidator.h.

◆ t

double QDoubleValidator::t
private

◆ top

QDoubleValidator::top
private

the validator's maximum acceptable value

By default, this property contains a value of infinity.

See also
setRange()

Definition at line 138 of file qvalidator.h.


The documentation for this class was generated from the following files: