简介:  仪表盘QSlider和数值显示QLCD_NUmber的讲解和使用。
[TOC]
本文初发于 “偕臧的小站“,同步转载于此。
编程环境:  win10 x64 专业版 1803  
编程软件:  visual studio 2015, Qt Creator 4.8.2 (Enterprise), Qt 5.9.8
运行效果:
先上一个最终的运行效果图:
 
系列博文:
比较紧密的关联博文参考:
继承关系:
QSlider移动条、QScrollBar滚动条、进度条这三个控件,都是继承于QAbstractSlider类,其中关于QSlider和QAbstractSlider属性讲解,参考已经发过的文章https://blog.csdn.net/qq_33154343/article/details/100944831 ;关于这几个控件的继承关系如下图:
 
QDial属性:
- QDial是仪表盘式的组件,通过旋转表盘获得输入值。QDial的特有的属性包括以下两种。
| 属性 | 含义 | 
|---|---|
| notchesVisible | 表盘的小刻度是否可见 | 
| notchTarget | 表盘刻度间的间隔像素值 | 
QLCDNumber属性:
- QLCDNumber是模拟LCD显示数字的组件,可以显示整数或小数,但就如实际的LCD一样,要设定显示数字的个数。显示整数时,还可以选择以不同进制来显示,如十进制、二进制、十六进制。其主要属性如下。
| 属性 | 含义 | 
|---|---|
| digitCount | 显示的数的位数,如果是小数,小数点也算一个数位 | 
| smallDecimalPoint | 是否有小数点,如果有小数点,就可以显示小数 | 
| mode | 数的显示进制,通过调用函数setDecMode)、setBinMode()、setOctMode)、setHexMode()可以设置为常用的十进制、二进制、八进制、十六进制格式。 | 
| value | 返回显示值,浮点数。若设置为显示整数,会自动四舍五入后得到整数,设置为intValue的值。如果smallDecimalPoint=true,设置value时可以显示小数,但是数的位数不能超过digitCount。 | 
| intValue | 返回显示的整数值 | 
例如,若smallDecimalPoint-true,digitCount=3,设置value=2.36,则界面上LCDNumber组件会显示为2.4;若设置value=1456.25,则界面上LCDNumber组件只会显示145。所以,用QLCDNumber作为显示组件时,应注意这些属性的配合。
核心源码:
//notchesVisible:表盘的小刻度是否可见
//notchTarget:表盘刻度间间隔的像素值
connect(ui->dial, SIGNAL(valueChanged(int)), this, SLOT(onDisplayLCD(int)));
setWindowTitle(QObject::tr("QDial表盘输入,在LCD以多种进制显示"));
-------------------------------------------------------------------------------------
    
ui->lcdNumber->display(val);    //显示LCD
ui->lcdNumber->setBinMode();    //设置LCD显示二进制数
ui->lcdNumber->setOctMode();    //设置LCD显示八进制数
ui->lcdNumber->setDecMode();    //设置LCD显示十进制数
ui->lcdNumber->setHexMode();    //设置LCD显示十六进制数源码下载:
https://github.com/xmuli/QtExamples 【QtQdialQLCDEx】


