wx.lib.agw.floatspin¶
FloatSpin
implements a floating point SpinCtrl
.
Description¶
FloatSpin
implements a floating point SpinCtrl
. It is built using a custom
wx.Control
, composed by a TextCtrl
and a SpinButton
. In order to
correctly handle floating points numbers without rounding errors or non-exact
floating point representations, FloatSpin
uses the great FixedPoint
class
from Tim Peters.
What you can do:
Set the number of representative digits for your floating point numbers;
Set the floating point format (
%f
,%F
,%e
,%E
,%g
,%G
);Set the increment of every
EVT_FLOATSPIN
event;Set minimum, maximum values for
FloatSpin
as well as its range;Change font and colour for the underline
TextCtrl
.
Usage¶
Usage example:
import wx
import wx.lib.agw.floatspin as FS
class MyFrame(wx.Frame):
def __init__(self, parent):
wx.Frame.__init__(self, parent, -1, "FloatSpin Demo")
panel = wx.Panel(self)
floatspin = FS.FloatSpin(panel, -1, pos=(50, 50), min_val=0, max_val=1,
increment=0.01, value=0.1, agwStyle=FS.FS_LEFT)
floatspin.SetFormat("%f")
floatspin.SetDigits(2)
# our normal wxApp-derived class, as usual
app = wx.App(0)
frame = MyFrame(None)
app.SetTopWindow(frame)
frame.Show()
app.MainLoop()
Events¶
FloatSpin
catches 3 different types of events:
Spin events: events generated by spinning up/down the spinbutton;
Char events: playing with up/down arrows of the keyboard increase/decrease the value of
FloatSpin
;Mouse wheel event: using the wheel will change the value of
FloatSpin
.
In addition, there are some other functionalities:
It remembers the initial value as a default value, call
SetToDefaultValue
, or pressEsc
to return to it;Shift
+ arrow = 2 * increment (orShift
+ mouse wheel);Ctrl
+ arrow = 10 * increment (orCtrl
+ mouse wheel);Alt
+ arrow = 100 * increment (orAlt
+ mouse wheel);Combinations of
Shift
,Ctrl
,Alt
increment theFloatSpin
value by the product of the factors;PgUp
&PgDn
= 10 * increment * the product of theShift
,Ctrl
,Alt
factors;Space
sets the control’s value to it’s last valid state.
Window Styles¶
This class supports the following window styles:
Window Styles |
Hex Value |
Description |
---|---|---|
|
0x1 |
Sets |
|
0x2 |
Horizontally align the underlying |
|
0x4 |
Horizontally align the underlying |
|
0x8 |
Horizontally align the underlying |
Events Processing¶
This class processes the following events:
Event Name |
Description |
---|---|
|
Emitted when the user changes the value of |
License And Version¶
FloatSpin
control is distributed under the wxPython license.
Latest revision: Andrea Gavana @ 03 Jan 2014, 23.00 GMT
Version 1.0
Backward Incompatibilities¶
Modifications to allow min_val or max_val to be None
done by:
James Bigler, SCI Institute, University of Utah, March 14, 2007
Note
Note that the changes I made will break backward compatibility, because I changed the contructor’s parameters from min / max to min_val / max_val to be consistent with the other functions and to eliminate any potential confusion with the built in min and max functions.
You specify open ranges like this (you can equally do this in the constructor):
SetRange(min_val=1, max_val=None) # [1, ]
SetRange(min_val=None, max_val=0) # [ , 0]
or no range:
SetRange(min_val=None, max_val=None) # [ , ]
Classes Summary¶
FixedPoint objects support decimal arithmetic with a fixed number of |
|
|
|
This event will be sent when a |
|
A class which holds a |