07-各组件的主要功能和属性
4.3.2 各组件的主要功能和属性
1.QSlider
QSlider、QScrollBar和Qdial 3个组件都从QAbstractSlider继承而来,有一些共有的属性。QSlider是滑动的标尺型组件,滑动标尺上的一个滑块可以改变值。
基类QAbstractSlider的主要属性包括以下几种。
- minimum、maximum:设置输入范围的最小值和最大值,例如,用红、绿、蓝配色时,每种基色的大小范围是0~255,所以设置minimum为0,maximum为255。
- singleStep:单步长,拖动标尺上的滑块,或按下左/右光标键时的最小变化数值。
- pageStep:在Slider上输入焦点,按PgUp或PgDn键时变化的数值。
- value:组件的当前值,拖动滑块时自动改变此值,并限定在minimum和maximum定义的范围之内。
- sliderPosition:滑块的位置,若tracking属性设置为true,sliderPosition就等于value。
- tracking:sliderPosition是否等同于value,如果tracking=true,改变value时也同时改变sliderPosition。
- orientation:Slider的方向,可以设置为水平或垂直。方向参数是Qt的枚举类型enum Qt::Orientation,取值包括以下两种。
- Qt::Horizontal 水平方向
- Qt::Vertical 垂直方向
- invertedAppearance:显示方式是否反向,invertedAppearance=false时,水平的Slider由左向右数值增大,否则反过来。
- invertedControls:反向按键控制,若invertedControls=true,则按下PgUp或PgDn按键时调整数值的方向相反。
属于QSlider的专有属性有两个,如下。
- tickPosition:标尺刻度的显示位置,使用枚举类型QSlider::TickPosition,取值包括以下6种。
- QSlider::NoTicks 不显示刻度
- QSlider::TicksBothSides 标尺两侧都显示刻度
- QSlider::TicksAbove 标尺上方显示刻度
- QSlider::TicksBelow 标尺下方显示刻度
- QSlider::TicksLeft 标尺左侧显示刻度
- QSlider::TicksRight 标尺右侧显示刻度
- tickInterval:标尺刻度的间隔值,若设置为0,会在singleStep和pageStep之间自动选择。
2.QScrollBar
QScrollBar从QAbstractSlider继承而来的,具有QAbstractSlider的基本属性,没有专有属性。
3.QDial
QDial是仪表盘式的组件,通过旋转表盘获得输入值。QDial的特有的属性包括以下两种。
- notchesVisible:表盘的小刻度是否可见。
- notchTarget:表盘刻度间的间隔像素值。
4.QProgressBar
QProgressBar的父类是QWidget,一般用于进度显示,常用属性如下。
- minimum、maximum:最小值和最大值。
- value:当前值,可以设定或读取当前值。
- textVisible:是否显示文字,文字一般是百分比表示的进度。
- orientation:可以设置为水平或垂直方向。
- format:显示文字的格式,“%p%”显示百分比,“%v”显示当前值,“%m”显示总步数。缺省为“%p%”。
5.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作为显示组件时,应注意这些属性的配合。