简介: 仪表盘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】
开心分享:
因为有着许许多多的热心网友的无私分享,从他们的博客中学习成长,学会很多,故也不辞辛苦也将自己的项目或经验整理成博客的形式,也提供给一起大家学习探讨与交流