当前位置:嗨网首页>书籍在线阅读

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作为显示组件时,应注意这些属性的配合。