QLCDNumber使用

来源:互联网 发布:大学英语6级听力知乎 编辑:程序博客网 时间:2024/06/05 06:33

QLCDNumber使用

QLCDNumber控件用于显示一个带有类似液晶显示屏效果的数字。

它可以显示几乎任何尺寸的数字,同时支持显示十进制,十六进制,八进制或二进制数。使用display()槽可以容易地连接到数据源,它被重写可以接收五种参数类型。

也有一些槽函数可以修改进制的形式,比如setModel(),还可以用setSmallDecimalPoint()设置小数点。

当QLCDNumber被要求显示超出其范围的内容时,会发出overflow()信号。该范围由setDigitCount()设置,但setSmallDecimalPoint()也会影响它。

如果显示设置为十六进制,八进制或二进制,则显示该值的转换为整数的值。

可以显示这些数字和其他符号:0/0,1,2,3,4,5 / S,6,7,8,9 / g,减号,小数点,A,B,C,D,E, F,h,H,L,o,P,r,u,U,Y,冒号,度数符号(在字符串中被指定为单引号)和空格。 QLCDNumber将空格替换为非法字符。

尽管您可以使用value()检索数值,但是无法检索QLCDNumber对象的内容。 如果真的需要文本,我们建议您将display()槽的信号连接到另一个槽,并将其存储在那里。

另外,QLCDNumber是Qt最古老的部分,可以追溯到Sinclair Spectrum的BASIC程序。

例0049 设置显示模式

QLCDNumber有以下几种模式:

setHexMode()-十六进制

setDecMode()-十进制

setOctMode()-八进制

setBinMode()-二进制

lcdNum->setDecMode();

如上,则会设置十进制模式,LCDNumber控件的数字为十进制模式

 

例0050设置可显示的位数

lcdNum->setDigitCount(10);

将会设置最长显示10位数字。要特别注意的是,如果你的显示数字是小数位,而超出10位数,并不会触发overflow信号,而是会出错,在实际操作中要特别注意。

例0051设置小数点是否占位

lcdNum->setSmallDecimalPoint(true);

如果为真,那么小数点就会在两个数字之间存在,而不会单独占一个位置,如果是没有设置,默认是false,那就会单独占位。

例0052设置外观和样式

//设置显示外观

    lcdNum->setSegmentStyle(QLCDNumber::Flat);

    //设置样式

   lcdNum->setStyleSheet("border:2pxsolidgreen;color:red;background:silver;");

Qt提供了多种样式,你完全可以根据需要来选择:

Constant

Value

Description

QLCDNumber::Outline

0

gives raised segments filled with the background color.

QLCDNumber::Filled

1

gives raised segments filled with the windowText color.

QLCDNumber::Flat

2

gives flat segments filled with the windowText color.

当然,这显然是不够的,因此特殊情况,千万别忘记还有setStyleSheet()函数

例0053 触发溢出信号

首先是建立连接

connect(lcdNum,SIGNAL(overflow()),this,SLOT(onOverFlow()));

槽函数:

voidMainWindow::onOverFlow()

{

    this->setWindowTitle("数值超出范围!");

}

简单的触发,实现的是溢出时候修改标题提示溢出(为了简洁,没有使用信息框)。

在这里,你也可以尝试使用小数来测试溢出,会有很多有意思的事情。

欢迎关注微信公众号:




原创粉丝点击