- class QScrollArea#
QScrollArea
类提供了一个滚动到其他小部件的视图。 更多…简述#
属性#
alignment - 滚动区域小部件的对齐方式
widgetResizable - 滚动区域是否应该调整视图小部件的大小
方法#
def __init__()
def alignment()
def ensureVisible()
定义
setWidget()
定义
takeWidget()
定义
widget()
注:
本文档可能包含自动从C++转换为Python的短码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE创建票据的方式让我们知道。
详细描述#
警告:
本节包含自动从C++转换为Python的短码片段,可能包含错误。
滚动区域用于在框架内显示子部件的内容。如果部件的尺寸超过框架,视图可以提供滚动条,以便可以查看子部件的整个区域。必须使用
setWidget()
指定子部件。例如imageLabel = QLabel() image = QImage("happyguy.png") imageLabel.setPixmap(QPixmap.fromImage(image)) scrollArea = QScrollArea() scrollArea.setBackgroundRole(QPalette.Dark) scrollArea.setWidget(imageLabel)
上面的代码创建了一个包含图像标签的滚动区域(如图下所示)。当调整图片大小的时候,滚动区域可以提供必要的滚动条
滚动条的外观取决于当前设置的滚动条策略。您可以通过继承自
QAbstractScrollArea
的功能来控制滚动条的外观。例如,您可以设置
horizontalScrollBarPolicy
和verticalScrollBarPolicy
属性。或者如果您希望滚动条在滚动区域内容变化时动态调整,可以使用horizontalScrollBar()
和verticalScrollBar()
函数(这些函数允许您访问滚动条)并在滚动区域的内容更改时使用setValue()
函数设置滚动条的值。您可以使用
widget()
函数检索子小部件。可以使用setWidgetResizable()
函数使视图可调整大小。可以通过setAlignment()
吾能指定小部件的对齐方式。两个便利函数
ensureVisible()
和ensureWidgetVisible()
可以确保窗口视图中某些内容区域可见,必要时通过滚动内容实现。尺寸提示和布局#
在使 双指 框区 显示自定义小部件的内容时,重要的是要确保子小部件的
size hint
被设置为合适的值。如果用于子小部件的是标准QWidget
,则可能需要调用setMinimumSize()
确保小部件的内容在滚 双 轴区内正确显示。如果使用滚 双 轴区查看包含布局排列的子小部件的小部件的内容,重要的是要实现布局的大小策略也将决定小部件的大小。这对于您打算动态更改布局的内容时非常有用。在这种情况下,将布局的
size constraint
属性设置为提供对布局的最小和/或最大大小约束的属性(例如,SetMinAndMaxSize
)将导致滚动区的大小在布局内容更改时更新。注:
当使用
from __feature__ import true_property
时,可以直接使用属性,否则通过访问器函数使用。- 属性 alignmentᅟ: Qt.AlignmentFlag 组合#
该属性包含滚 双 轴区内小部件的对齐方式。
有效的对齐方式是以下标志的组合
Qt::AlignLeft
Qt::AlignHCenter
Qt::AlignRight
Qt::AlignTop
Qt::AlignVCenter
Qt::AlignBottom
默认情况下,小部件将位于滚 双 轴区的左上角。
- 属性 widgetResizable: bool#
此属性指示滚动区域是否应该调整视图小部件的大小。
如果此属性设置为false(默认值),则滚动区域将尊重其小部件的大小。不管此属性如何,您都可以使用
widget()
->resize()
程序化调整小部件大小,滚动区域将自动调整到新大小。如果此属性设置为true,则滚动区域将自动调整小部件大小,以避免出现滚动条,或利用额外空间。
使用给定的
parent
构建一个空滚动区域。另请参阅
- alignment()#
- 返回类型:
另请参阅
属性
alignment
的获取器。- ensureVisible(x, y[, xmargin=50[, ymargin=50]])#
- 参数:
x – int
y – int
xmargin – int
ymargin – int
滚动滚动区域的内容,以便点(
x
,y
)位于视口区域内,并具有由像素指定的内边距,内边距由xmargin
和ymargin
指定。如果不能达到指定的点,则会滚动到最近的可行位置。默认值两个边距都是50像素。- ensureWidgetVisible(childWidget[, xmargin=50[, ymargin=50]])#
- 参数:
childWidget –
QWidget
xmargin – int
ymargin – int
滚动滚动区域的全部内容,以便在视口中可见
childWidget
,并通过xmargin
和ymargin
指定的像素值设置边距。如果指定点无法到达,内容将滚动到最近的合法位置。两个边距的默认值都是 50 像素。- setAlignment(arg__1)#
- 参数:
arg__1 –
AlignmentFlag
的组合
另请参阅
属性
alignmentᅟ
的设置器。设置滚动区域的
widget
。该
widget
成为滚动区域的子元素,当滚动区域被删除或设置新元素时将被销毁。元素的
autoFillBackground
属性将被设置为true
。如果在添加
widget
时滚动区域是可见的,你必须显式调用show()
。注意:您必须在调用此函数之前添加
widget
的布局;如果稍后添加,则widget
将不可见 - 不论何时调用滚动区域,也无论何时尝试调用show()
。在这种情况下,您也只能稍后show()
widget
。另请参阅
- setWidgetResizable(resizable)#
- 参数:
resizable – bool
另请参阅
属性
widgetResizableᅟ
的设置器。移除滚动区域的 widget,并将 widget 的所有权传递给调用者。
另请参阅
返回滚动区域的组件,如果没有则返回
None
。另请参阅
- widgetResizable()#
- 返回类型:
bool
另请参阅
属性
widgetResizableᅟ
的获取器。