QSlider、QScrollBar和Qdial 3个组件都从QAbstractSlider继承而来,有一些共有的属性。QSlider是滑动的标尺型组件,滑动标尺上的一个滑块可以改变值。
invertedAppearance : bool
invertedControls : bool
maximum : int
minimum : int
orientation : Qt::Orientation
pageStep : int
singleStep : int
sliderDown : bool
sliderPosition : int
tracking : bool
value : int
设置输入范围的最小值和最大值;
单步长,拖动标尺上的滑块,或按下左/右光标键时的最小变化数值。
在Slider上输入焦点,按PgUp或PgDn键时变化的数值。
组件的当前值,拖动滑块时自动改变此值,并限定在minimum和maximum定义的范围之内。
滑块的位置,若tracking属性设置为true,sliderPosition就等于value。
sliderPosition是否等同于value,如果tracking=true,改变value时也同时改变sliderPosition。
Slider的方向,可以设置为水平或垂直。方向参数是Qt的枚举类型enum Qt::Orientation,取值包括以下两种。
Qt::Horizontal 水平方向
Qt::Vertical 垂直方向
显示方式是否反向,invertedAppearance=false时,水平的Slider由左向右数值增大,否则反过来。
反向按键控制,若invertedControls=true,则按下PgUp或PgDn按键时调整数值的方向相反。
此属性保存滑块是否被按下。该属性由子类设置,以便让抽象滑块知道跟踪是否有任何效果。更改slider down 属性会发出sliderPressed() 和sliderReleased() 信号。
标尺刻度的显示位置,使用枚举类型QSlider::TickPosition,取值包括以下6种。
QSlider::NoTicks 不显示刻度
QSlider::TicksBothSides 标尺两侧都显示刻度
QSlider::TicksAbove 标尺上方显示刻度
QSlider::TicksBelow 标尺下方显示刻度
QSlider::TicksLeft 标尺左侧显示刻度
QSlider::TicksRight 标尺右侧显示刻度
标尺刻度的间隔值,若设置为0,会在singleStep和pageStep之间自动选择。
QScrollBar从QAbstractSlider继承而来的,具有QAbstractSlider的基本属性,没有专有属性。
QDial是仪表盘式的组件,通过旋转表盘获得输入值。QDial的特有的属性包括以下两种。
表盘的小刻度是否可见。
表盘刻度间的间隔像素值。
该属性保存当前的缺口大小。缺口大小以范围控制单位为单位,而不是像素,如果可能,它是导致屏幕上缺口大小接近 nickTarget() 的 singleStep() 的倍数。默认情况下,此属性的值为 1。
QProgressBar的父类是QWidget,一般用于进度显示,常用属性如下。
最小值和最大值。
当前值,可以设定或读取当前值。
是否显示文字,文字一般是百分比表示的进度。
可以设置为水平或垂直方向。
显示文字的格式,“%p%”显示百分比,“%v”显示当前值,“%m”显示总步数。缺省为“%p%”。
QLCDNumber是模拟LCD显示数字的组件,可以显示整数或小数,但就如实际的LCD一样,要设定显示数字的个数。显示整数时,还可以选择以不同进制来显示,如十进制、二进制、十六进制。其主要属性如下。
显示的数的位数,如果是小数,小数点也算一个数位。
是否有小数点,如果有小数点,就可以显示小数。
数的显示进制,通过调用函数setDecMode()、setBinMode()、setOctMode()、setHexMode()可以设置为常用的十进制、二进制、八进制、十六进制格式。
返回显示值,浮点数。若设置为显示整数,会自动四舍五入后得到整数,设置为intValue的值。如果smallDecimalPoint=true,设置value时可以显示小数,但是数的位数不能超过digitCount。
intValue:返回显示的整数值。
例如,若smallDecimalPoint=true,digitCount=3,设置value=2.36,则界面上LCDNumber组件会显示为2.4;若设置value=1456.25,则界面上LCDNumber组件只会显示145。所以,用QLCDNumber作为显示组件时,应注意这些属性的配合。