返回介绍

QScrollBar类

发布于 2019-10-04 15:02:19 字数 8877 浏览 3969 评论 0 收藏 0

QScrollBar窗口部件提供了水平的或垂直的滚动条。 详情请见……

#include <qscrollbar.h>

继承了QWidget和QRangeControl。

所有成员函数的列表。

公有成员

  • QScrollBar ( QWidget*parent, constchar*name = 0 )
  • QScrollBar ( Orientationorientation, QWidget*parent, constchar*name = 0 )
  • QScrollBar ( intminValue, intmaxValue, intlineStep, intpageStep, intvalue, Orientationorientation, QWidget*parent, constchar*name = 0 )
  • virtual void setOrientation ( Orientation )
  • Orientation orientation () const
  • virtual void setTracking ( boolenable )
  • bool tracking () const
  • bool draggingSlider () const
  • virtual void setPalette ( constQPalette&p )
  • int minValue () const
  • int maxValue () const
  • void setMinValue ( int )
  • void setMaxValue ( int )
  • int lineStep () const
  • int pageStep () const
  • void setLineStep ( int )
  • void setPageStep ( int )
  • int value () const
  • int sliderStart () const
  • QRect sliderRect () const

公有槽

  • void setValue ( int )

信号

  • void valueChanged ( intvalue )
  • void sliderPressed ()
  • void sliderMoved ( intvalue )
  • void sliderReleased ()
  • void nextLine ()
  • void prevLine ()
  • void nextPage ()
  • void prevPage ()

属性

  • bool draggingSlider- 用户是否已经在滑块上点击鼠标并且正在移动它(只读)
  • int lineStep- 当前线步
  • int maxValue- 滚动条的当前最大值
  • int minValue- 滚动条的当前最小值
  • Orientation orientation- 滚动条的方位
  • int pageStep- 当前页步
  • bool tracking- 滚动条跟踪是否生效
  • int value- 滚动条的当前值

保护成员

  • virtual void hideEvent ( QHideEvent * )

详细描述

QScrollBar窗口部件提供了水平的或垂直的滚动条。

滚动条允许用户控制一个程序可定义范围内的值并且给用户一个范围控制的当前值得可视化表示。

滚动条包含四个分别的控制:

  • line-upline-down控制是用户可以用来向上或向下移动线步的小按钮。“线”的意思是可以配置的。在编辑器和列表框中,它是指一行文本,在一个图片查看器中它也许是指20个像素。
  • slider是表示滚动条的当前值的把手,用户可以拖动它来改变值。滚动条的这部分有时被称作“拇指”。
  • page-up/page-down控制是滑块滑行的区域(滚动条的背景)。点击这里让滚动条向点击的方向移动。“页”的意思也是可以配置的:在编辑器和列表框中,它是指和这个窗口部件空间相同的行数。

QScrollBar只有几个自己的函数,它多数依赖于QRangeControl。最有用的函数是setValue()直接设置滚动条的值,addPage()、addLine()、subtractPage()和subtractLine()模拟点击的效果(对于快捷键很有用),setSteps()定义pageStep()和lineStep()的值,并且setRange()设置滚动条的minValue()和maxValue()。QScrollBar有一个方便的可以设置这些属性的构造函数。

一些图形用户界面风格(例如,提供的Windows和Motif风格)也使用pageStep()的值来计算滑块的大小。

除了来自QRangeControl的访问函数之外,QScrollBar还有完整的一套信号:

  • valueChanged() - 当滚动条的值已经发生改变时,被发射。 tracking()决定在用户操作期间,这个信号是否被发射。
  • sliderPressed() - 当用户开始拖动滑块时,被发射。
  • sliderMoved() - 当用户拖动滑块时,被发射。
  • sliderReleased() - 当用户释放滑块时,被发射。
  • nextLine() - 当滚动条已经向下或向右移动了一个线步时,被发射。线步在QRangeControl中被定义。
  • prevLine() - 当滚动条已经向上或向左移动了一个线步时,被发射。
  • nextPage() - 当滚动条已经向下或向右移动了一个页步时,被发射。
  • prevPage() - 当滚动条已经向上或向左移动了一个页步时,被发射。

QScrollBar只提供整数范围。注意尽管QScrollBar可以处理很大的数字,当前屏幕上的滚动条不能有效地控制超过100000像素的范围。除此以外,它使用户使用键盘或者鼠标来控制这个滚动条都很困难。

滚动条可以被键盘控制,但是它的默认focusPolicy()是NoFocus。使用setFocusPolicy()来让键盘焦点生效。对于绑定键的列表,请参考keyPressEvent()。

如果你需要在一个界面上添加滚动条,请考虑使用QScrollView类,它封装了滚动条的常用方法。

也可以参考QSlider、QSpinBox、QScrollView、GUI Design Handbook: Scroll Bar和基本窗口部件。


成员函数文档

QScrollBar::QScrollBar ( QWidget*parent, constchar*name = 0 )

构造一个垂直的滚动条。

parentname参数被发送给QWidget的构造函数。

QScrollBar::QScrollBar ( Orientationorientation, QWidget*parent, constchar*name = 0 )

构造一个滚动条。

orientation必须是Qt::Vertical或Qt::Horizontal。

parentname参数被发送给QWidget的构造函数。

QScrollBar::QScrollBar ( intminValue, intmaxValue, intlineStep, intpageStep, intvalue, Orientationorientation, QWidget*parent, constchar*name = 0 )

构造一个滚动条,它的值不能小于minValue或者大于maxValue,线步大小为lineStep并且页步大小为pageStep,它的值被初始化为value(它被使用bound()保证在范围之内)。

如果orientation是Vertical,滚动条是垂直的并且如果它是Horizontal,则滚动条是水平的。

parentname参数被发送给QWidget的构造函数。

bool QScrollBar::draggingSlider () const

如果用户已经在滑块上点击鼠标并且现在正在拖动它,返回真,否则返回假。详细情况请参考“draggingSlider”属性。

void QScrollBar::hideEvent ( QHideEvent* ) [虚 保护]

当滚动条被隐藏时,这个函数被调用。

从QWidget中重新实现的。

int QScrollBar::lineStep () const

返回当前线步。详细情况请参考“lineStep”属性。

int QScrollBar::maxValue () const

返回滚动条的当前最大值。详细情况请参考“maxValue”属性。

int QScrollBar::minValue () const

返回滚动条的当前最小值。详细情况请参考“minValue”>属性。

void QScrollBar::nextLine () [信号]

当滚动条向下或向右滚动一个线步时,这个信号被发射。

void QScrollBar::nextPage () [信号]

当滚动条向下或向右滚动一个页步时,这个信号被发射。

Orientation QScrollBar::orientation () const

返回滚动条的方向。详细情况请参考“orientation”属性。

int QScrollBar::pageStep () const

返回当前页步。详细情况请参考“pageStep”属性。

void QScrollBar::prevLine () [信号]

当滚动条向上或向左滚动一个线步时,这个信号被发射。

void QScrollBar::prevPage () [信号]

当滚动条向上或向左滚动一个页步时,这个信号被发射。

void QScrollBar::setLineStep ( int )

设置当前线步。详细情况请参考“lineStep”属性。

void QScrollBar::setMaxValue ( int )

设置滚动条的当前最大值。详细情况请参考“maxValue”属性。

void QScrollBar::setMinValue ( int )

设置滚动条的当前最小值。详细情况请参考“minValue”属性。

void QScrollBar::setOrientation ( Orientation ) [虚]

设置滚动条的方位。详细情况请参考“orientation”属性。

void QScrollBar::setPageStep ( int )

设置当前页步。详细情况请参考“pageStep”属性。

void QScrollBar::setPalette ( constQPalette&p ) [虚]

重新实现了虚函数QWidget::setPalette()。

对于使用调色板p的Motif风格的滚动条,设置背景色为中间的颜色。

从QWidget中重新实现的。

void QScrollBar::setTracking ( boolenable ) [虚]

设置滚动条跟踪是否生效为enable。详细情况请参考“tracking”属性。

void QScrollBar::setValue ( int ) [slot]

设置当前滚动条的值。详细情况请参考“value”属性。

void QScrollBar::sliderMoved ( intvalue ) [信号]

当滑块被用户移动时,这个信号被发射,新滚动条的值value作为参数。

即使当跟踪被关闭,这个信号也被发射。

也可以参考tracking、valueChanged()、nextLine()、prevLine()、nextPage()和prevPage()。

void QScrollBar::sliderPressed () [信号]

当用户使用鼠标按下滑块时,这个信号被发射。

QRect QScrollBar::sliderRect () const

返回滚动条滑块的范围。

也可以参考sliderStart()。

void QScrollBar::sliderReleased () [信号]

当用户使用鼠标释放滑块时,这个信号被发射。

int QScrollBar::sliderStart () const

返回滚动条滑块开始的像素位置。

这对于垂直滚动条相当于sliderRect().y(),对于水平滚动条相当于sliderRect().x()。

bool QScrollBar::tracking () const

如果滚动条跟踪是生效的,返回真,否则返回假。详细情况请参考“tracking”属性。

int QScrollBar::value () const

返回当前滚动条的值。详细情况请参考“value”属性。

void QScrollBar::valueChanged ( intvalue ) [信号]

当滚动条的值已经改变时,这个信号被发射,新滚动条的值value作为参数。

属性文档

bool draggingSlider

这个属性保存的是用户是否已经在滑块上点击鼠标并且正在移动它。

通过draggingSlider()来获得属性值。

int lineStep

这个属性保存的是当前线步。

当设置线步时,如果新的线步与原来的设置不同,虚函数stepChange()将被调用。

也可以参考setSteps()、QRangeControl::pageStep()和setRange()。

通过setLineStep()设置属性值并且通过lineStep()来获得属性值。

int maxValue

这个属性保存的是滚动条的当前最大值。

当设置这个属性时,如果需要,QScrollBar::minValue被调整,这样使范围仍有效。

也可以参考setRange()。

通过setMaxValue()设置属性值并且通过maxValue()来获得属性值。

int minValue

这个属性保存的是滚动条的当前最小值。

当设置这个属性时,如果需要,QScrollBar::maxValue被调整,这样使范围仍有效。

也可以参考setRange()。

通过setMinValue()设置属性值并且通过minValue()来获得属性值。

Orientation orientation

这个属性保存的是滚动条的方位。

这个方位必须是Qt::Vertical(默认)或Qt::Horizontal。

通过setOrientation()设置属性值并且通过orientation()来获得属性值。

int pageStep

这个属性保存的是当前页步。

当设置页步时,如果新的页步与原来的设置不同,虚函数stepChange()将被调用。

也可以参考QRangeControl::setSteps()、lineStep和setRange()。

通过setPageStep()设置属性值并且通过pageStep()来获得属性值。

bool tracking

这个属性保存的是滚动条跟踪是否生效。

如果跟踪生效(默认),当滑块正在被拖动时,滚动条发射valueChanged()信号。如果失效,只有当用户在移动滑块之后释放鼠标按键时,滚动条发射valueChanged()信号。

通过setTracking()设置属性值并且通过tracking()来获得属性值。

int value

这个属性保存的是滚动条的当前值。

通过setValue()设置属性值并且通过value()来获得属性值。

也可以参考QRangeControl::value()和prevValue()。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文