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

QFormLayout Class Reference
[QtGui module]

该QFormLayout类管理输入部件及其关联的标籤形式。More...

继承QLayout

Types

Methods


Detailed Description

该QFormLayout类管理输入部件及其关联的标籤形式。

QFormLayout是勾画出它在一个两列的表格孩子一个方便的布局类。左栏包括标籤,右列包含“场”的小部件(行编辑器,旋转框等) 。

传统上,这样的两栏式布局形式采用实现QGridLayout。 QFormLayout是更高级别的替代方案,提供了以下优点:

下表显示了默认的外观在不同的风格。

QCommonStyle derived styles (except QPlastiqueStyle) QMacStyle QPlastiqueStyle Qt Extended styles
Traditional style used for Windows, GNOME, and earlier versions of KDE. Labels are left aligned, and expanding fields grow to fill the available space. (This normally corresponds to what we would get using a two-column QGridLayout.) Style based on the Mac OS X Aqua guidelines. Labels are right-aligned, the fields don't grow beyond their size hint, and the form is horizontally centered. Recommended style for KDE applications. Similar to MacStyle, except that the form is left-aligned and all fields grow to fill the available space. Default style for Qt Extended styles. Labels are right-aligned, expanding fields grow to fill the available space, and row wrapping is enabled for long lines.

表格样式可以也可以单独通过调用被重写setLabelAlignment( )setFormAlignment( )setFieldGrowthPolicy()和setRowWrapPolicy( ) 。例如,以模拟的形式布局美观QMacStyle在所有平台上,但左对齐的标籤,你可以这样写:

 formLayout->setRowWrapPolicy(QFormLayout.DontWrapRows);
 formLayout->setFieldGrowthPolicy(QFormLayout.FieldsStayAtSizeHint);
 formLayout->setFormAlignment(Qt.AlignHCenter | Qt.AlignTop);
 formLayout->setLabelAlignment(Qt.AlignLeft);

Type Documentation

QFormLayout.FieldGrowthPolicy

该枚举指定可以被用来控制在该表单的字段成长的方式,不同的政策。

Constant Value Description
QFormLayout.FieldsStayAtSizeHint 0 这些字段永远长不大超出了他们的effective size hint。这是默认的QMacStyle
QFormLayout.ExpandingFieldsGrow 1 与横向领域size policyExpanding or MinimumExpanding将增长到填满可用空间。其他栏位不得超出其有效尺寸暗示。这是PLASTIQUE的默认策略。
QFormLayout.AllNonFixedFieldsGrow 2 用大小政策,使他们能够成长各个领域将增长到填满可用空间。这是大多数款式的默认策略。

See also fieldGrowthPolicy

QFormLayout.ItemRole

此枚举指定部件(或其他布局项目)的类型,可能会出现一排。

Constant Value Description
QFormLayout.LabelRole 0 一个标籤控件。
QFormLayout.FieldRole 1 字段部件。
QFormLayout.SpanningRole 2 一个小部件,跨越标籤和字段列。

See also itemAt()和getItemPosition( ) 。

QFormLayout.RowWrapPolicy

该枚举指定可以被用来控制在该表格中的行包的方式,不同的政策。

Constant Value Description
QFormLayout.DontWrapRows 0 字段总是奠定了旁边的标籤。这是除了Qt的扩展风格的缺省策略为所有的风格和QS60Style
QFormLayout.WrapLongRows 1 标籤被给予足够的水平空间,以适应宽的标籤,并且该空间的剩馀部分被提供给字段。如果一个场对的最小尺寸大于可用空间更宽,该字段被换到下一行。这是为Qt扩展的风格和和默认策略QS60Style
QFormLayout.WrapAllRows 2 字段总是布置下他们的标籤。

See also rowWrapPolicy


Method Documentation

QFormLayout.__init__ (self, QWidget parent = None)

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

构造一个新的窗体布局与给定parent小工具。

See also QWidget.setLayout( ) 。

QFormLayout.addItem (self, QLayoutItem item)

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

从重新实现QLayout.addItem( ) 。

QFormLayout.addRow (self, QWidget label, QWidget field)

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

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

添加一新行,以这种形式布局的底部,用给定的labelfield

See also insertRow( ) 。

QFormLayout.addRow (self, QWidget label, QLayout field)

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

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

这是一个重载函数。

QFormLayout.addRow (self, QString labelText, QWidget field)

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

这是一个重载函数。

此重载自动创建一个QLabel背后的幕后labelText作为其文本。该field被设置为新的QLabelbuddy

QFormLayout.addRow (self, QString labelText, QLayout field)

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

这是一个重载函数。

此重载自动创建一个QLabel背后的幕后labelText作为其文本。

QFormLayout.addRow (self, QWidget widget)

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

这是一个重载函数。

将指定的widget在这种形式布局的结束。该widget横跨两列。

QFormLayout.addRow (self, QLayout layout)

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

这是一个重载函数。

将指定的layout在这种形式布局的结束。该layout横跨两列。

int QFormLayout.count (self)

从重新实现QLayout.count( ) 。

Qt.Orientations QFormLayout.expandingDirections (self)

从重新实现QLayoutItem.expandingDirections( ) 。

FieldGrowthPolicy QFormLayout.fieldGrowthPolicy (self)

Qt.Alignment QFormLayout.formAlignment (self)

(int rowPtr, ItemRole rolePtr) QFormLayout.getItemPosition (self, int index)

检索项的行和角色(列)在指定的index。如果index是出界, *rowPtr被设置为-1 ,否则该行被存储在*rowPtr和作用是存储在*rolePtr

See also itemAt( )count( )getLayoutPosition()和getWidgetPosition( ) 。

(int rowPtr, ItemRole rolePtr) QFormLayout.getLayoutPosition (self, QLayout layout)

检索指定的子行和作用(列)layout。如果layout是不是在形式布局, *rowPtr被设置为-1 ,否则该行被存储在*rowPtr和作用是存储在*rolePtr

(int rowPtr, ItemRole rolePtr) QFormLayout.getWidgetPosition (self, QWidget widget)

检索指定的行和作用(列)widget在布局。如果widget是不是在布局, *rowPtr被设置为-1 ,否则该行被存储在*rowPtr和作用是存储在*rolePtr

See also getItemPosition()和itemAt( ) 。

bool QFormLayout.hasHeightForWidth (self)

从重新实现QLayoutItem.hasHeightForWidth( ) 。

int QFormLayout.heightForWidth (self, int width)

从重新实现QLayoutItem.heightForWidth( ) 。

int QFormLayout.horizontalSpacing (self)

QFormLayout.insertRow (self, int row, QWidget label, QWidget field)

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

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

插入新行的位置row在这种形式布局,与给定labelfield。如果row是出界,新行是在后面。

See also addRow( ) 。

QFormLayout.insertRow (self, int row, QWidget label, QLayout field)

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

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

这是一个重载函数。

QFormLayout.insertRow (self, int row, QString labelText, QWidget field)

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

这是一个重载函数。

此重载自动创建一个QLabel背后的幕后labelText作为其文本。该field被设置为新的QLabelbuddy

QFormLayout.insertRow (self, int row, QString labelText, QLayout field)

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

这是一个重载函数。

此重载自动创建一个QLabel背后的幕后labelText作为其文本。

QFormLayout.insertRow (self, int row, QWidget widget)

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

这是一个重载函数。

插入指定的widget在位置row在这种形式布局。该widget横跨两列。如果row是出界,小部件是在后面。

QFormLayout.insertRow (self, int row, QLayout layout)

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

这是一个重载函数。

插入指定的layout在位置row在这种形式布局。该layout横跨两列。如果row是出界,小部件是在后面。

QFormLayout.invalidate (self)

从重新实现QLayoutItem.invalidate( ) 。

QLayoutItem QFormLayout.itemAt (self, int row, ItemRole role)

返回指定布局项目row用指定的role(列) 。返回0,如果没有这样的项目。

See also QLayout.itemAt()和setItem( ) 。

QLayoutItem QFormLayout.itemAt (self, int index)

从重新实现QLayout.itemAt( ) 。

Qt.Alignment QFormLayout.labelAlignment (self)

QWidget QFormLayout.labelForField (self, QWidget field)

返回与给定关联的标籤field

See also itemAt( ) 。

QWidget QFormLayout.labelForField (self, QLayout field)

这是一个重载函数。

QSize QFormLayout.minimumSize (self)

从重新实现QLayoutItem.minimumSize( ) 。

int QFormLayout.rowCount (self)

返回行形式的数量。

See also QLayout.count( ) 。

RowWrapPolicy QFormLayout.rowWrapPolicy (self)

QFormLayout.setFieldGrowthPolicy (self, FieldGrowthPolicy policy)

QFormLayout.setFormAlignment (self, Qt.Alignment alignment)

QFormLayout.setGeometry (self, QRect rect)

从重新实现QLayoutItem.setGeometry( ) 。

QFormLayout.setHorizontalSpacing (self, int spacing)

QFormLayout.setItem (self, int row, ItemRole role, QLayoutItem item)

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

设置在给定的项目row对于给定的roleitem,必要时用空行延伸的布局。

如果电池已经被佔用时,item没有被插入且一个错误消息被发送到控制台。该item横跨两列。

Warning:请不要使用此功能来添加子布局或子部件项目。使用setLayout()或setWidget( )来代替。

See also setLayout( ) 。

QFormLayout.setLabelAlignment (self, Qt.Alignment alignment)

QFormLayout.setLayout (self, int row, ItemRole role, QLayout layout)

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

设置子布局在给定的row对于给定的rolelayout,必要时用空行延伸的形式布局。

如果电池已经被佔用时,layout没有被插入且一个错误消息被发送到控制台。

Note:对于大多数应用,addRow()或insertRow( )应该使用的的setLayout ( ) 。

See also setWidget( ) 。

QFormLayout.setRowWrapPolicy (self, RowWrapPolicy policy)

QFormLayout.setSpacing (self, int)

此功能可设置垂直和水平间距spacing

See also spacing( )setVerticalSpacing()和setHorizontalSpacing( ) 。

QFormLayout.setVerticalSpacing (self, int spacing)

QFormLayout.setWidget (self, int row, ItemRole role, QWidget widget)

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

设置部件在给定的row对于给定的rolewidget,必要时用空行延伸的布局。

如果电池已经被佔用时,widget没有被插入且一个错误消息被发送到控制台。

Note:对于大多数应用,addRow()或insertRow( )应该使用setWidget的( ) 。

See also setLayout( ) 。

QSize QFormLayout.sizeHint (self)

从重新实现QLayoutItem.sizeHint( ) 。

int QFormLayout.spacing (self)

如果垂直间距相等的水平间距,这个函数返回该值,否则返回-1 。

See also setSpacing( )verticalSpacing()和horizontalSpacing( ) 。

QLayoutItem QFormLayout.takeAt (self, int index)

QLayoutItem结果

从重新实现QLayout.takeAt( ) 。

int QFormLayout.verticalSpacing (self)




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