PySide6.QtWidgets.QScrollBar¶
- 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像素的范围。超过这个范围,用户使用键盘或鼠标控制滑块将变得困难,滚动箭头的作用也将有限。ScrollBar 从
QAbstractSlider
继承了一组全面的信号:valueChanged()
当滚动条的值发生变化时发出。tracking() 决定在用户交互期间是否发出此信号。rangeChanged()
当滚动条的值范围发生变化时发出。sliderPressed()
当用户开始拖动滑块时发出。sliderMoved()
当用户拖动滑块时发出。sliderReleased()
当用户释放滑块时发出。actionTriggered()
当滚动条通过用户交互或通过triggerAction()
函数更改时发出。
滚动条可以通过键盘控制,但它的默认
focusPolicy()
是Qt::NoFocus。使用setFocusPolicy()
来启用与滚动条的键盘交互:左/右移动水平滚动条一步。
向上/向下移动垂直滚动条一步。
PageUp 向上移动一页。
PageDown 向下移动一页。
主页移动到开始(最小)。
End 移动到末尾(最大值)。
滑块本身可以通过使用
triggerAction()
函数来模拟用户与滚动条控件的交互。如果您有许多使用相同值范围的不同小部件,这将非常有用。大多数GUI样式使用
pageStep()
值来计算滑块的大小。另请参阅
QScrollArea
QSlider
QDial
QSpinBox
滑块示例构建一个垂直滚动条。
parent
参数被发送到QWidget
构造函数。minimum
默认值为 0,maximum
默认值为 99,singleStep
的大小为 1,pageStep
的大小为 10,初始value
为 0。- __init__(orientation[, parent=None])
- Parameters:
orientation –
Orientation
parent –
QWidget
构造一个具有给定
orientation
的滚动条。parent
参数被传递给QWidget
构造函数。minimum
默认值为 0,maximum
默认值为 99,singleStep
的大小为 1,pageStep
的大小为 10,初始value
为 0。- initStyleOption(option)¶
- Parameters:
选项 –
QStyleOptionSlider
使用此
QScrollBar
的值初始化option
。当子类需要QStyleOptionSlider
但不想自己填写所有信息时,此方法非常有用。另请参阅