KDoubleSpinBox Class Reference
This class provides a spin box for fractional numbers. A spin box for fractional numbers. More...
#include <knuminput.h>
Inheritance diagram for KDoubleSpinBox:

Public Slots | |
virtual void | setValue (double value) |
Sets the current value to value , cubject to the constraints that value is frist rounded to the current precision and then clipped to the interval [minvalue(),@p maxValue()]. | |
Signals | |
void | valueChanged (double value) |
Emitted whenever QSpinBox::valueChanged( int ) is emitted. | |
Public Methods | |
KDoubleSpinBox (QWidget *parent=0, const char *name=0) | |
Constructs a KDoubleSpinBox with parent parent and default values for range and value (whatever QRangeControl uses) and precision (2). | |
KDoubleSpinBox (double lower, double upper, double step, double value, int precision=2, QWidget *parent=0, const char *name=0) | |
Constructs a KDoubleSpinBox with parent parent , range [lower,@p upper], lineStep step , precision precision and initial value value . | |
bool | acceptLocalizedNumbers () const |
virtual void | setAcceptLocalizedNumbers (bool accept) |
Sets whether to use and accept localized numbers as returned by KLocale::formatNumber(). | |
void | setRange (double lower, double upper, double step=0.01, int precision=2) |
Sets a new range for the spin box values. | |
int | precision () const |
void | setPrecision (int precision) |
Equivalent to setPrecsion( precison , false ); Needed since Qt's moc doesn't ignore trailing parameters with default args when searching for a property setter method. | |
virtual void | setPrecision (int precision, bool force) |
Sets the number of decimal points to use. | |
double | value () const |
double | minValue () const |
void | setMinValue (double value) |
Sets the lower bound of the range to value , subject to the contraints that value is first rounded to the current precision and then clipped to the maximum representable interval. | |
double | maxValue () const |
void | setMaxValue (double value) |
Sets the upper bound of the range to value , subject to the contraints that value is first rounded to the current precision and then clipped to the maximum representable interval. | |
double | lineStep () const |
void | setLineStep (double step) |
Sets the step size for clicking the up/down buttons to step , subject to the constraints that step is first rounded to the current precision and then clipped to the meaningful interval [1, maxValue - minValue] . | |
void | setValidator (const QValidator *) |
Overridden to ignore any setValidator() calls. | |
Protected Methods | |
virtual QString | mapValueToText (int) |
virtual int | mapTextToValue (bool *) |
Detailed Description
This class provides a spin box for fractional numbers. A spin box for fractional numbers.
Parameters
There are a number of interdependent parameters whose relation to each other you need to understand in order to make successful use of the spin box.
- precision: The number of decimals after the decimal point.
- maxValue/minValue: upper and lower bound of the valid range
- lineStep: the size of the step that is taken when the user hits the up or down buttons
max( abs(minValue()), abs(maxValue() ) <= INT_MAX/10^precision maxPrecision = floor( log10( INT_MAX/max(abs(minValue()),abs(maxValue())) ) )
Since the value, bounds and step are rounded to the current precision, you may experience that the order of setting above parameters matters. E.g. the following are not equivalent (try it!):
// sets precision, // then min/max value (rounded to precison and clipped to obtainable range if needed) // then value and lineStep KDoubleSpinBox * spin = new KDoubleSpinBox( 0, 9.999, 0.001, 4.321, 3, this ); // sets minValue to 0; maxValue to 10.00(!); value to 4.32(!) and only then // increases the precision - too late, since e.g. value has already been rounded... KDpubleSpinBox * spin = new KDoubleSpinBox( this ); spin->setMinValue( 0 ); spin->setMaxValue( 9.999 ); spin->setValue( 4.321 ); spin->setPrecision( 3 );
- Author:
- Marc Mutz <mutz@kde.org>
- Version:
- Id:
- knuminput.h,v 1.44 2002/09/28 15:16:22 tjansen Exp
- Since:
- 3.1
Definition at line 834 of file knuminput.h.
Constructor & Destructor Documentation
|
Constructs a KDoubleSpinBox with parent
Definition at line 912 of file knuminput.cpp. References QSpinBox::editor(). |
|
Constructs a KDoubleSpinBox with parent
Definition at line 920 of file knuminput.cpp. References QSpinBox::editor(), precision(), setRange(), setValue(), value(), and valueChanged(). |
Member Function Documentation
|
Definition at line 936 of file knuminput.cpp. |
|
Sets whether to use and accept localized numbers as returned by KLocale::formatNumber().
Definition at line 942 of file knuminput.cpp. |
|
Sets a new range for the spin box values.
Note that Definition at line 947 of file knuminput.cpp. References precision(), setLineStep(), setMaxValue(), setMinValue(), and setPrecision(). Referenced by KDoubleSpinBox(). |
|
Definition at line 957 of file knuminput.cpp. Referenced by KDoubleSpinBox(), setPrecision(), and setRange(). |
|
Equivalent to setPrecsion(
Definition at line 961 of file knuminput.cpp. References precision(). Referenced by setRange(). |
|
Sets the number of decimal points to use. Note that there is a tradeoff between the precision used and the available range of values. See the class docs for more.
Definition at line 965 of file knuminput.cpp. References precision(). |
|
Definition at line 987 of file knuminput.cpp. Referenced by KDoubleSpinBox(), setMaxValue(), setMinValue(), and setValue(). |
|
Definition at line 1004 of file knuminput.cpp. Referenced by setLineStep(), and setValue(). |
|
Sets the lower bound of the range to
Definition at line 1008 of file knuminput.cpp. References value(). Referenced by setRange(). |
|
Definition at line 1017 of file knuminput.cpp. Referenced by setLineStep(), and setValue(). |
|
Sets the upper bound of the range to
Definition at line 1021 of file knuminput.cpp. References value(). Referenced by setRange(). |
|
Definition at line 1029 of file knuminput.cpp. |
|
Sets the step size for clicking the up/down buttons to
Definition at line 1033 of file knuminput.cpp. References maxValue(), and minValue(). Referenced by setRange(). |
|
Overridden to ignore any setValidator() calls.
Reimplemented from QSpinBox. Definition at line 1063 of file knuminput.cpp. |
|
Emitted whenever QSpinBox::valueChanged( int ) is emitted.
Referenced by KDoubleSpinBox(). |
|
Sets the current value to
Definition at line 991 of file knuminput.cpp. References maxValue(), minValue(), and value(). Referenced by KDoubleSpinBox(). |
The documentation for this class was generated from the following files: