|
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.trolltech.qt.QSignalEmitter
com.trolltech.qt.QtJambiObject
com.trolltech.qt.core.QObject
com.trolltech.qt.gui.QWidget
com.trolltech.qt.gui.QFrame
com.trolltech.qt.gui.QLCDNumber
public class QLCDNumber
The QLCDNumber widget displays a number with LCD-like digits.
It can display a number in just about any size. It can display decimal, hexadecimal, octal or binary numbers. It is easy to connect to data sources using the display slot, which is overloaded to take any of five argument types.
There are also slots to change the base with setMode and the decimal point with setSmallDecimalPoint.
QLCDNumber emits the overflow signal when it is asked to display something beyond its range. The range is set by setNumDigits, but setSmallDecimalPoint also influences it. If the display is set to hexadecimal, octal or binary, the integer equivalent of the value is displayed.
These digits and other symbols can be shown: 0/O, 1, 2, 3, 4, 5/S, 6, 7, 8, 9/g, minus, decimal point, A, B, C, D, E, F, h, H, L, o, P, r, u, U, Y, colon, degree sign (which is specified as single quote in the string) and space. QLCDNumber substitutes spaces for illegal characters.
It is not possible to retrieve the contents of a QLCDNumber object, although you can retrieve the numeric value with value. If you really need the text, we recommend that you connect the signals that feed the display slot to another slot as well and store the value there.
Incidentally, QLCDNumber is the very oldest part of Qt, tracing its roots back to a BASIC program on the Sinclair Spectrum.
![]() ![]() ![]() ![]() ![]() ![]() |
LCD number widgets shown in various widget styles (from left to right): Motif, CDE, Windows, Windows XP, Macintosh, Plastique. |
Clock Example
,
Tetrix ExampleNested Class Summary | |
---|---|
static class |
QLCDNumber.Mode
This type determines how numbers are shown. |
static class |
QLCDNumber.SegmentStyle
This type determines the visual appearance of the QLCDNumber widget. |
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QFrame |
---|
QFrame.Shadow, QFrame.Shape, QFrame.StyleMask |
Nested classes/interfaces inherited from class com.trolltech.qt.gui.QWidget |
---|
QWidget.RenderFlag, QWidget.RenderFlags |
Nested classes/interfaces inherited from class com.trolltech.qt.QSignalEmitter |
---|
QSignalEmitter.Signal0, QSignalEmitter.Signal1<A>, QSignalEmitter.Signal2<A,B>, QSignalEmitter.Signal3<A,B,C>, QSignalEmitter.Signal4<A,B,C,D>, QSignalEmitter.Signal5<A,B,C,D,E>, QSignalEmitter.Signal6<A,B,C,D,E,F>, QSignalEmitter.Signal7<A,B,C,D,E,F,G>, QSignalEmitter.Signal8<A,B,C,D,E,F,G,H>, QSignalEmitter.Signal9<A,B,C,D,E,F,G,H,I> |
Field Summary | |
---|---|
QSignalEmitter.Signal0 |
overflow
This signal is emitted whenever the QLCDNumber is asked to display a too-large number or a too-long string. |
Fields inherited from class com.trolltech.qt.gui.QWidget |
---|
customContextMenuRequested |
Constructor Summary | |
---|---|
QLCDNumber()
Equivalent to QLCDNumber(0). |
|
QLCDNumber(int numDigits)
Equivalent to QLCDNumber(numDigits, 0). |
|
QLCDNumber(int numDigits,
QWidget parent)
Constructs an LCD number, sets the number of digits to numDigits, the base to decimal, the decimal point mode to 'small' and the frame style to a raised box. |
|
QLCDNumber(QWidget parent)
Constructs an LCD number, sets the number of digits to 5, the base to decimal, the decimal point mode to 'small' and the frame style to a raised box. |
Method Summary | |
---|---|
boolean |
checkOverflow(double num)
Returns true if num is too big to be displayed in its entirety; otherwise returns false. |
boolean |
checkOverflow(int num)
Returns true if num is too big to be displayed in its entirety; otherwise returns false. |
void |
display(double num)
Sets the displayed value rounded to the nearest integer to num. |
void |
display(int num)
Sets the displayed value rounded to the nearest integer to num. |
void |
display(java.lang.String str)
Sets the displayed value rounded to the nearest integer to str. |
boolean |
event(QEvent e)
This is the main event handler; it handles event arg__1. You can reimplement this function in a subclass, but we recommend using one of the specialized event handlers instead. Key press and release events are treated differently from other events. event checks for Tab and Shift+Tab and tries to move the focus appropriately. If there is no widget to move the focus to (or the key press is not Tab or Shift+Tab), event calls keyPressEvent. Mouse and tablet event handling is also slightly special: only when the widget is enabled, event will call the specialized handlers such as mousePressEvent; otherwise it will discard the event. This function returns true if the event was recognized, otherwise it returns false. If the recognized event was accepted (see QEvent::accepted), any further processing such as event propagation to the parent widget stops. |
static QLCDNumber |
fromNativePointer(QNativePointer nativePointer)
This function returns the QLCDNumber instance pointed to by nativePointer |
int |
intValue()
Returns the displayed value rounded to the nearest integer. |
QLCDNumber.Mode |
mode()
Returns the current display mode (number base). |
int |
numDigits()
Returns the current number of digits displayed. |
protected void |
paintEvent(QPaintEvent arg__1)
This event handler can be reimplemented in a subclass to receive paint events which are passed in the arg__1 parameter. A paint event is a request to repaint all or part of the widget. It can happen as a result of repaint or update, or because the widget was obscured and has now been uncovered, or for many other reasons. Many widgets can simply repaint their entire surface when asked to, but some slow widgets need to optimize by painting only the requested region: QPaintEvent::region(). This speed optimization does not change the result, as painting is clipped to that region during event processing. QListView and QTableView do this, for example. Qt also tries to speed up painting by merging multiple paint events into one. When update is called several times or the window system sends several paint events, Qt merges these events into one event with a larger region (see QRegion::united()). repaint does not permit this optimization, so we suggest using update whenever possible. When the paint event occurs, the update region has normally been erased, so that you're painting on the widget's background. The background can be set using setBackgroundRole and setPalette. From Qt 4.0, QWidget automatically double-buffers its painting, so there's no need to write double-buffering code in paintEvent to avoid flicker. Note: Under X11 it is possible to toggle the global double buffering by calling qt_x11_set_global_double_buffer(). Example usage: ... extern void qt_x11_set_global_double_buffer(bool); qt_x11_set_global_double_buffer(false); ... Note: In general, one should refrain from calling update or repaint inside of paintEvent. For example, calling update or repaint on children inside a paintEvent results in undefined behavior; the child may or may not get a paint event. |
QLCDNumber.SegmentStyle |
segmentStyle()
Returns the style of the LCDNumber. |
void |
setBinMode()
Calls setMode(Bin). |
void |
setDecMode()
Calls setMode(Dec). |
void |
setHexMode()
Calls setMode(Hex). |
void |
setMode(QLCDNumber.Mode arg__1)
Sets the current display mode (number base) to arg__1. |
void |
setNumDigits(int nDigits)
Sets the current number of digits displayed to nDigits. |
void |
setOctMode()
Calls setMode(Oct). |
void |
setSegmentStyle(QLCDNumber.SegmentStyle arg__1)
Sets the style of the LCDNumber to arg__1. |
void |
setSmallDecimalPoint(boolean arg__1)
Sets the style of the decimal point to arg__1. |
QSize |
sizeHint()
Returns the recommended size for the widget. If the value of this property is an invalid size, no size is recommended. The default implementation of sizeHint returns an invalid size if there is no layout for this widget, and returns the layout's preferred size otherwise. |
boolean |
smallDecimalPoint()
Returns the style of the decimal point. |
double |
value()
Returns the displayed value. |
Methods inherited from class com.trolltech.qt.gui.QFrame |
---|
changeEvent, drawFrame, frameRect, frameShadow, frameShape, frameStyle, frameWidth, lineWidth, midLineWidth, setFrameRect, setFrameShadow, setFrameShape, setFrameStyle, setLineWidth, setMidLineWidth |
Methods inherited from class com.trolltech.qt.core.QObject |
---|
blockSignals, childEvent, children, connectSlotsByName, customEvent, disposeLater, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, eventFilter, findChild, findChild, findChild, findChildren, findChildren, findChildren, findChildren, installEventFilter, isWidgetType, killTimer, moveToThread, objectName, parent, property, removeEventFilter, setObjectName, setParent, setProperty, signalsBlocked, startTimer, thread, timerEvent |
Methods inherited from class com.trolltech.qt.QtJambiObject |
---|
dispose, disposed, finalize, reassignNativeResources, tr, tr, tr |
Methods inherited from class com.trolltech.qt.QSignalEmitter |
---|
disconnect, disconnect, signalSender |
Methods inherited from class java.lang.Object |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.trolltech.qt.QtJambiInterface |
---|
disableGarbageCollection, nativeId, nativePointer, reenableGarbageCollection, setJavaOwnership |
Field Detail |
---|
public final QSignalEmitter.Signal0 overflow
This signal is emitted whenever the QLCDNumber is asked to display a too-large number or a too-long string.
It is never emitted by setNumDigits.
Constructor Detail |
---|
public QLCDNumber()
Equivalent to QLCDNumber(0).
public QLCDNumber(QWidget parent)
Constructs an LCD number, sets the number of digits to 5, the base to decimal, the decimal point mode to 'small' and the frame style to a raised box. The segmentStyle is set to Outline.
The parent argument is passed to the QFrame constructor.
public QLCDNumber(int numDigits)
Equivalent to QLCDNumber(numDigits, 0).
public QLCDNumber(int numDigits, QWidget parent)
Constructs an LCD number, sets the number of digits to numDigits, the base to decimal, the decimal point mode to 'small' and the frame style to a raised box. The segmentStyle is set to Outline.
The parent argument is passed to the QFrame constructor.
Method Detail |
---|
public final boolean checkOverflow(double num)
Returns true if num is too big to be displayed in its entirety; otherwise returns false.
public final boolean checkOverflow(int num)
Returns true if num is too big to be displayed in its entirety; otherwise returns false.
public final void display(int num)
Sets the displayed value rounded to the nearest integer to num.
This property corresponds to the nearest integer to the current value displayed by the LCDNumber. This is the value used for hexadecimal, octal and binary modes.
If the displayed value is not a number, the property has a value of 0.
public final void display(double num)
Sets the displayed value rounded to the nearest integer to num.
This property corresponds to the nearest integer to the current value displayed by the LCDNumber. This is the value used for hexadecimal, octal and binary modes.
If the displayed value is not a number, the property has a value of 0.
public final void display(java.lang.String str)
Sets the displayed value rounded to the nearest integer to str.
This property corresponds to the nearest integer to the current value displayed by the LCDNumber. This is the value used for hexadecimal, octal and binary modes.
If the displayed value is not a number, the property has a value of 0.
public final int intValue()
Returns the displayed value rounded to the nearest integer.
This property corresponds to the nearest integer to the current value displayed by the LCDNumber. This is the value used for hexadecimal, octal and binary modes.
If the displayed value is not a number, the property has a value of 0.
public final QLCDNumber.Mode mode()
Returns the current display mode (number base).
Corresponds to the current display mode, which is one of Bin, Oct, Dec (the default) and Hex. Dec mode can display floating point values, the other modes display the integer equivalent.
public final int numDigits()
Returns the current number of digits displayed.
Corresponds to the current number of digits. If QLCDNumber::smallDecimalPoint is false, the decimal point occupies one digit position.
public final QLCDNumber.SegmentStyle segmentStyle()
Returns the style of the LCDNumber.
Style | Result |
---|---|
Outline | Produces raised segments filled with the background color (this is the default). |
Filled | Produces raised segments filled with the foreground color. |
Flat | Produces flat segments filled with the foreground color. |
Outline and Filled will additionally use QPalette::light() and QPalette::dark() for shadow effects.
public final void setBinMode()
Calls setMode(Bin). Provided for convenience (e.g. for connecting buttons to it).
public final void setDecMode()
Calls setMode(Dec). Provided for convenience (e.g. for connecting buttons to it).
public final void setHexMode()
Calls setMode(Hex). Provided for convenience (e.g. for connecting buttons to it).
public final void setMode(QLCDNumber.Mode arg__1)
Sets the current display mode (number base) to arg__1.
Corresponds to the current display mode, which is one of Bin, Oct, Dec (the default) and Hex. Dec mode can display floating point values, the other modes display the integer equivalent.
public final void setNumDigits(int nDigits)
Sets the current number of digits displayed to nDigits.
Corresponds to the current number of digits. If QLCDNumber::smallDecimalPoint is false, the decimal point occupies one digit position.
public final void setOctMode()
Calls setMode(Oct). Provided for convenience (e.g. for connecting buttons to it).
public final void setSegmentStyle(QLCDNumber.SegmentStyle arg__1)
Sets the style of the LCDNumber to arg__1.
Style | Result |
---|---|
Outline | Produces raised segments filled with the background color (this is the default). |
Filled | Produces raised segments filled with the foreground color. |
Flat | Produces flat segments filled with the foreground color. |
Outline and Filled will additionally use QPalette::light() and QPalette::dark() for shadow effects.
public final void setSmallDecimalPoint(boolean arg__1)
Sets the style of the decimal point to arg__1.
If true the decimal point is drawn between two digit positions. Otherwise it occupies a digit position of its own, i.e. is drawn in a digit position. The default is false.
The inter-digit space is made slightly wider when the decimal point is drawn between the digits.
public final boolean smallDecimalPoint()
Returns the style of the decimal point.
If true the decimal point is drawn between two digit positions. Otherwise it occupies a digit position of its own, i.e. is drawn in a digit position. The default is false.
The inter-digit space is made slightly wider when the decimal point is drawn between the digits.
public final double value()
Returns the displayed value.
This property corresponds to the current value displayed by the LCDNumber.
If the displayed value is not a number, the property has a value of 0.
public boolean event(QEvent e)
This is the main event handler; it handles event arg__1. You can reimplement this function in a subclass, but we recommend using one of the specialized event handlers instead.
Key press and release events are treated differently from other events. event checks for Tab and Shift+Tab and tries to move the focus appropriately. If there is no widget to move the focus to (or the key press is not Tab or Shift+Tab), event calls keyPressEvent.
Mouse and tablet event handling is also slightly special: only when the widget is enabled, event will call the specialized handlers such as mousePressEvent; otherwise it will discard the event.
This function returns true if the event was recognized, otherwise it returns false. If the recognized event was accepted (see QEvent::accepted), any further processing such as event propagation to the parent widget stops.
event
in class QFrame
protected void paintEvent(QPaintEvent arg__1)
This event handler can be reimplemented in a subclass to receive paint events which are passed in the arg__1 parameter.
A paint event is a request to repaint all or part of the widget. It can happen as a result of repaint or update, or because the widget was obscured and has now been uncovered, or for many other reasons.
Many widgets can simply repaint their entire surface when asked to, but some slow widgets need to optimize by painting only the requested region: QPaintEvent::region(). This speed optimization does not change the result, as painting is clipped to that region during event processing. QListView and QTableView do this, for example.
Qt also tries to speed up painting by merging multiple paint events into one. When update is called several times or the window system sends several paint events, Qt merges these events into one event with a larger region (see QRegion::united()). repaint does not permit this optimization, so we suggest using update whenever possible.
When the paint event occurs, the update region has normally been erased, so that you're painting on the widget's background.
The background can be set using setBackgroundRole and setPalette.
From Qt 4.0, QWidget automatically double-buffers its painting, so there's no need to write double-buffering code in paintEvent to avoid flicker.
Note: Under X11 it is possible to toggle the global double buffering by calling qt_x11_set_global_double_buffer(). Example usage:
... extern void qt_x11_set_global_double_buffer(bool); qt_x11_set_global_double_buffer(false); ...
Note: In general, one should refrain from calling update or repaint inside of paintEvent. For example, calling update or repaint on children inside a paintEvent results in undefined behavior; the child may or may not get a paint event.
paintEvent
in class QFrame
public QSize sizeHint()
Returns the recommended size for the widget.
If the value of this property is an invalid size, no size is recommended.
The default implementation of sizeHint returns an invalid size if there is no layout for this widget, and returns the layout's preferred size otherwise.
sizeHint
in class QFrame
public static QLCDNumber fromNativePointer(QNativePointer nativePointer)
nativePointer
- the QNativePointer of which object should be returned.
|
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |