Home · All Classes · Modules  · QSS HELP  · QSS 案例 · VER007 HOME

QScrollArea Class Reference
[QtGui module]

该QScrollArea类提供了一个滚动视图到另一个部件。More...

继承QAbstractScrollArea

Methods


Detailed Description

该QScrollArea类提供了一个滚动视图到另一个部件。

一种涡旋式区域用于一帧中显示的子插件的内容。如果窗口部件超过该帧的大小,该视图可以提供滚动条,以使子部件的整个区域,可以被观看。孩子小部件必须被指定setWidget( ) 。例如:

 QLabel *imageLabel = new QLabel;
 QImage image("happyguy.png");
 imageLabel->setPixmap(QPixmap.fromImage(image));

 scrollArea = new QScrollArea;
 scrollArea->setBackgroundRole(QPalette.Dark);
 scrollArea->setWidget(imageLabel);

上面的代码创建一个包含一个图像标籤的滚动区域(在下面的图片所示) 。当缩放该图像,该滚动区域可以提供必要的滚动条:

滚动条的外观取决于当前设置的scroll bar policies。你可以控制使用从继承的功能滚动条的外观QAbstractScrollArea

例如,您可以设置QAbstractScrollArea.horizontalScrollBarPolicyQAbstractScrollArea.verticalScrollBarPolicy属性。或者,如果你想要滚动条来动态地调整时的滚动区域的内容改变,则可以使用horizontalScrollBar()verticalScrollBar()功能(这使您可以访问滚动条),并设置每当滚动区域的内容改变滚动条的价值观,用QScrollBar.setValue()函数。

您可以使用检索子插件的widget()函数。该视图可以用来被调整大小与setWidgetResizable()函数。窗口小部件的取向可以与指定的setAlignment( ) 。

两个便利的函数ensureVisible()和ensureWidgetVisible()保证的内容的特定区域是在视口内可见的,通过在必要时滚动的内容。

Size Hints and Layouts

当使用一个滚动区域来显示一个自定义的窗口小部件的内容,它保证是重要的size hint儿童的插件被设置为一个合适的值。如果一个标准QWidget用于子部件,它可能需要调用QWidget.setMinimumSize()以确保该窗口小部件的内容被滚动区域内的正确显示。

如果一个滚动区域用于显示包含配置在布局子部件一个部件的内容,但要认识到,在布局的大小政策也将确定小窗口的大小是很重要的。如果你打算来动态改变布局的内容,这是特别有用的就知道了。在这种情况下,设置布局的size constraint属性之一,它提供的最小和/或布局的最大尺寸(例如,限制,QLayout.SetMinAndMaxSize)将导致滚动面积的大小进行更新时的布局变更的内容。

对于使用QScrollArea类的完整示例,请参见Image Viewer例子。该示例显示了如何结合QLabel和QScrollArea以显示图像。


Method Documentation

QScrollArea.__init__ (self, QWidget parent = None)

parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。

构造具有给定一个空的滚动区域parent

See also setWidget( ) 。

Qt.Alignment QScrollArea.alignment (self)

QScrollArea.ensureVisible (self, int x, int y, int xMargin = 50, int yMargin = 50)

滚动滚动区域的内容,使该点(xy)是由以像素为单位指定页边距视口的区域内可见xmarginymargin。如果指定的点不能达到,其内容被滚动到最近的有效位置。两个边距的默认值是50个像素。

QScrollArea.ensureWidgetVisible (self, QWidget childWidget, int xMargin = 50, int yMargin = 50)

滚动滚动区域的内容,这样childWidgetQScrollArea.widget( )是通过以像素为单位指定页边距视口内可见xmarginymargin。如果指定的点不能达到,其内容被滚动到最近的有效位置。两个边距的默认值是50个像素。

这个函数中引入了Qt 4.2中。

bool QScrollArea.event (self, QEvent)

从重新实现QObject.event( ) 。

bool QScrollArea.eventFilter (self, QObject, QEvent)

从重新实现QObject.eventFilter( ) 。

bool QScrollArea.focusNextPrevChild (self, bool next)

从重新实现QWidget.focusNextPrevChild( ) 。

QScrollArea.resizeEvent (self, QResizeEvent)

从重新实现QWidget.resizeEvent( ) 。

QScrollArea.scrollContentsBy (self, int dx, int dy)

从重新实现QAbstractScrollArea.scrollContentsBy( ) 。

QScrollArea.setAlignment (self, Qt.Alignment)

QScrollArea.setWidget (self, QWidget w)

w说法有它的所有权转移给Qt的。

设置滚动区域的widget

widget成为滚动区域的一个孩子,当滚动区域被删除或者当一个新的widget设定将被破坏。

widget的autoFillBackground属性将被设置为true

如果滚动区域是可见的,当widget是说,你必须show()它明确。

请注意,您必须添加的布局widget在打电话之前此功能,如果您以后添加吧,widget将不可见 - 无论何时你的show()滚动区域。在这种情况下,你也可以不show()widget后来。

See also widget( ) 。

QScrollArea.setWidgetResizable (self, bool resizable)

QSize QScrollArea.sizeHint (self)

从重新实现QWidget.sizeHint( ) 。

QWidget QScrollArea.takeWidget (self)

QWidget结果

消除了滚动区域的窗口小部件,并通过小部件的所有权给调用者。

See also widget( ) 。

QWidget QScrollArea.widget (self)

返回滚动区域的窗口小部件,或者0,如果是没有的。

See also setWidget( ) 。

bool QScrollArea.widgetResizable (self)




PyQt 4.10.3 for X11 Copyright © Riverbank Computing Ltd and Nokia 2012 Qt 4.8.5