返回介绍

QLCDNumber Class

发布于 2019-10-04 15:01:01 字数 12951 浏览 932 评论 0 收藏 0

The QLCDNumber widget displays a number with LCD-like digits. More...

#include <qlcdnumber.h>

Inherits QFrame.

List of all member functions.

Public Members

  • QLCDNumber ( QWidget*parent = 0, constchar*name = 0 )
  • QLCDNumber ( uintnumDigits, QWidget*parent = 0, constchar*name = 0 )
  • ~QLCDNumber ()
  • enum Mode { Hex, Dec, Oct, Bin, HEX = Hex, DEC = Dec, OCT = Oct, BIN = Bin }
  • enum SegmentStyle { Outline, Filled, Flat }
  • bool smallDecimalPoint () const
  • int numDigits () const
  • virtual void setNumDigits ( intnDigits )
  • bool checkOverflow ( doublenum ) const
  • bool checkOverflow ( intnum ) const
  • Mode mode () const
  • virtual void setMode ( Mode )
  • SegmentStyle segmentStyle () const
  • virtual void setSegmentStyle ( SegmentStyle )
  • double value () const
  • int intValue () const

Public Slots

  • void display ( constQString&s )
  • void display ( intnum )
  • void display ( doublenum )
  • virtual void setHexMode ()
  • virtual void setDecMode ()
  • virtual void setOctMode ()
  • virtual void setBinMode ()
  • virtual void setSmallDecimalPoint ( bool )

Signals

  • void overflow ()

Properties

  • int intValue- the displayed value rounded to the nearest integer
  • Mode mode- the current display mode (number base)
  • int numDigits- the current number of digits displayed
  • SegmentStyle segmentStyle- the style of the LCDNumber
  • bool smallDecimalPoint- the style of the decimal point
  • double value- the displayed value

Protected Members

  • virtual void drawContents ( QPainter*p )

Detailed Description

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 back to a BASIC program on the Sinclair Spectrum.

See also QLabel, QFrame and Basic Widgets.


Member Type Documentation

QLCDNumber::Mode

This type determines how numbers are shown. The possible values are:

  • QLCDNumber::Hex - Hexadecimal
  • QLCDNumber::Dec - Decimal
  • QLCDNumber::Oct - Octal
  • QLCDNumber::Bin - Binary

If the display is set to hexadecimal, octal or binary, the integer equivalent of the value is displayed.

QLCDNumber::SegmentStyle

This type determines the visual appearance of the QLCDNumber widget. The possible values are:

  • QLCDNumber::Outline - gives raised segments filled with the background brush.
  • QLCDNumber::Filled - gives raised segments filled with the foreground brush.
  • QLCDNumber::Flat - gives flat segments filled with the foreground brush.

Member Function Documentation

QLCDNumber::QLCDNumber ( QWidget*parent = 0, constchar*name = 0 )

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 and name arguments are passed to the QFrame constructor.

See also numDigits and smallDecimalPoint.

QLCDNumber::QLCDNumber ( uintnumDigits, QWidget*parent = 0, constchar*name = 0 )

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 and name arguments are passed to the QFrame constructor.

See also numDigits and smallDecimalPoint.

QLCDNumber::~QLCDNumber ()

Destroys the LCD number.

bool QLCDNumber::checkOverflow ( doublenum ) const

Returns TRUE if num is too big to be displayed in its entirety; otherwise returns FALSE.

See also intValue, numDigits and smallDecimalPoint.

bool QLCDNumber::checkOverflow ( intnum ) const

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Returns TRUE if num is too big to be displayed in its entirety; otherwise returns FALSE.

See also intValue, numDigits and smallDecimalPoint.

void QLCDNumber::display ( intnum ) [slot]

Sets the displayed value rounded to the nearest integer to num. See the "intValue" property for details.

void QLCDNumber::display ( constQString&s ) [slot]

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Displays the number represented by the string s.

This version of the function disregards mode() and smallDecimalPoint().

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.

void QLCDNumber::display ( doublenum ) [slot]

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Displays the number num.

void QLCDNumber::drawContents ( QPainter*p ) [virtual protected]

Draws the LCD number using painter p. This function is called from QFrame::paintEvent().

Reimplemented from QFrame.

int QLCDNumber::intValue () const

Returns the displayed value rounded to the nearest integer. See the "intValue" property for details.

Mode QLCDNumber::mode () const

Returns the current display mode (number base). See the "mode" property for details.

int QLCDNumber::numDigits () const

Returns the current number of digits displayed. See the "numDigits" property for details.

void QLCDNumber::overflow () [signal]

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

SegmentStyle QLCDNumber::segmentStyle () const

Returns the style of the LCDNumber. See the "segmentStyle" property for details.

void QLCDNumber::setBinMode () [virtual slot]

Calls setMode( BIN ). Provided for convenience (e.g. for connecting buttons to it).

See also mode, setHexMode(), setDecMode(), setOctMode() and mode.

void QLCDNumber::setDecMode () [virtual slot]

Calls setMode( DEC ). Provided for convenience (e.g. for connecting buttons to it).

See also mode, setHexMode(), setOctMode(), setBinMode() and mode.

void QLCDNumber::setHexMode () [virtual slot]

Calls setMode( HEX ). Provided for convenience (e.g. for connecting buttons to it).

See also mode, setDecMode(), setOctMode(), setBinMode() and mode.

void QLCDNumber::setMode ( Mode ) [virtual]

Sets the current display mode (number base). See the "mode" property for details.

void QLCDNumber::setNumDigits ( intnDigits ) [virtual]

Sets the current number of digits displayed to nDigits. See the "numDigits" property for details.

void QLCDNumber::setOctMode () [virtual slot]

Calls setMode( OCT ). Provided for convenience (e.g. for connecting buttons to it).

See also mode, setHexMode(), setDecMode(), setBinMode() and mode.

void QLCDNumber::setSegmentStyle ( SegmentStyle ) [virtual]

Sets the style of the LCDNumber. See the "segmentStyle" property for details.

void QLCDNumber::setSmallDecimalPoint ( bool ) [virtual slot]

Sets the style of the decimal point. See the "smallDecimalPoint" property for details.

bool QLCDNumber::smallDecimalPoint () const

Returns the style of the decimal point. See the "smallDecimalPoint" property for details.

double QLCDNumber::value () const

Returns the displayed value. See the "value" property for details.


Property Documentation

int intValue

This property holds 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.

Set this property's value with display() and get this property's value with intValue().

Mode mode

This property holds 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.

See also smallDecimalPoint, setHexMode(), setDecMode(), setOctMode() and setBinMode().

Set this property's value with setMode() and get this property's value with mode().

int numDigits

This property holds 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.

If the display is set to hexadecimal, octal or binary, the integer equivalent of the value is displayed.

See also smallDecimalPoint.

Set this property's value with setNumDigits() and get this property's value with numDigits().

SegmentStyle segmentStyle

This property holds the style of the LCDNumber.

The style of the QLCDNumber is one of:

  • Outline gives raised segments filled with the background color (this is the default).
  • Filled gives raised segments filled with the foreground color.
  • Flat gives flat segments filled with the foreground color.

Outline and Filled will additionally use QColorGroup::light() and QColorGroup::dark() for shadow effects.

Set this property's value with setSegmentStyle() and get this property's value with segmentStyle().

bool smallDecimalPoint

This property holds 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.

See also mode.

Set this property's value with setSmallDecimalPoint() and get this property's value with smallDecimalPoint().

double value

This property holds 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.

Set this property's value with display() and get this property's value with value().

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文