- class QScrollBar#
QScrollBar小部件提供了一个垂直或水平滚动条。 更多…
概要#
方法#
def
__init__()
虚函数#
注意
此文档可能包含从C++自动转换为Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译存在问题,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建工单的方式告知我们
详细描述#
滚动条是一种控件,使用户能够访问比显示它的窗口控件更大的文档的部分。它提供了用户在文档中当前位置和可见文档量的视觉指示。滚动条通常配备其他控件,以实现更精确的导航。Qt以适合每个平台的方式显示滚动条。
如果您需要将滚动视图提供给另一个小部件,使用
QScrollArea
类可能会更方便,因为该类提供视口小部件和滚动条。当您需要使用QAbstractScrollArea
实现专用小部件的类似功能时,QScrollBar
很有用;例如,如果您决定继承QAbstractItemView
。对于大多数其他需要使用滑块控件在给定范围内获取值的场景,QSlider
类可能更适合您的需求。滚动条通常包含四个独立的控件:滑块、滚动箭头和页面控制。
滑块提供了一种快速导航到文档任何部分的方法,但不支持在大文档中的精确导航。
滚动箭头是可用的按钮,可以用来精确地导航到文档中的特定位置。对于连接到文本编辑器的垂直滚动条,这些通常将当前位置上移或下移一个“行”,并通过微小调整滑块的位置。在编辑器和列表框中,“行”可能意味着一行文本;在图像查看器中,可能意味着20像素。
页面控制是滑块被拖动过的区域(滚动条背景)。在此处单击会将滚动条向点击位置移动一个“页面”。此值通常与滑块的长度相同。
每个滚动条都有一个值,表示滑块距离滚动条起始点的距离;这可以通过
value()
获得,并通过setValue()
设置。此值始终位于为滚动条定义的值的范围内,从minimum()
到maximum()
(包括)。可以设置可接受值的范围,使用setMinimum()
和setMaximum()
。在最小值时,对于垂直滚动条,滑块的顶部边缘(对于水平滚动条,左侧边缘)位于滚动条的顶部(或左侧)末端。在最大值时,滑块的下边(或右侧)边缘位于滚动条的下端(或右侧)末端。滑块的长度通常与页面步长值相关,通常表示在滚动视图中显示的文档区域比例。页面步长是指用户按“Page Up”和“Page Down”键时值变化的量,通过
setPageStep()
设置。通过光标键进行更小范围的值变化,这个数量通过setSingleStep()
设置。请注意,所使用的值范围与滚动条小部件的实际大小无关。在选择范围和页面步长值时,您无需考虑这一点。
用于滚动条的指定值范围通常与用于
QSlider
的范围不同,因为需要考虑滑块的长度。如果我们有一个包含100行的文档,而我们只能在小部件中显示20行,我们可能希望构建一个页面步长为20、最小值为0、最大值为80的滚动条。这将使我们得到一个包含五个“页面”的滚动条。在很多常见情况下,文档长度、滚动条中使用的值范围和页面步长之间的关系非常简单。滚动条的值范围通过从表示文档长度的某个值中减去所选择的页面步长来确定。在这种情况下,以下等式很有用:文档长度 =
maximum()
-minimum()
+pageStep()
。QScrollBar
只提供整数值范围。请注意,尽管QScrollBar
可以处理非常大的数字,当前屏幕上的滚动条无法有效表示超过大约 100,000 像素的范围。超过这个范围,用户难以使用键盘或鼠标控制滑块,滚动箭头也将受限。滚动条继承了来自
QAbstractSlider
的信号集。当滚动条值发生变化时,会发出
valueChanged()
。跟踪(tracking())确定是否会在用户交互期间发出此信号。当滚动条值范围发生变化时,会发出
rangeChanged()
。sliderPressed()
当用户开始拖动滑块时发出。sliderMoved()
当用户拖动滑块时发出。sliderReleased()
当用户释放滑块时发出。actionTriggered()
当通过用户交互或使用triggerAction()
函数更改滚动条时发出。
滚动条可以由键盘控制,但它有默认的 Qt::NoFocus
focusPolicy()
。请使用setFocusPolicy()
来启用与滚动条的键盘交互。左右键移动水平滚动条一个步长。
上下键移动垂直滚动条一个步长。
PageUp 向上移动一页。
PageDown 向下移动一页。
Home 移动到起始位置(最小值)。
End 移动到结束位置(最大值)。
可以使用
triggerAction()
函数来控制滑块本身,以模拟与滚动条控件的用户交互。如果有许多不同的小部件使用共同的值范围,这将非常有用。大多数GUI样式都使用
pageStep()
价值来计算滑块的大小。构造一个垂直滚动条。
parent
参数被发送到QWidget
构造函数。默认情况下,
minimum
设置为 0,maximum
设置为 99,单步大小为 1,页面步长大小为 10,初始value
为 0。- __init__(arg__1[, parent=None])
- 参数:
arg__1 –
Orientation
parent –
QWidget
使用给定的
orientation
构造滑动条。将
parent
参数传递给QWidget
构造函数。默认情况下,
minimum
设置为 0,maximum
设置为 99,单步大小为 1,页面步长大小为 10,初始value
为 0。- initStyleOption(option)#
- 参数:
option –
QStyleOptionSlider
使用此
QScrollBar
的值初始化option
。当子类需要QStyleOptionSlider
但不想自己填写所有信息时,此方法很有用。参见