Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
The QLayout class is the base class of geometry managers. More...
Inherits QObject and QLayoutItem.
Inherited by QBoxLayout, QFormLayout, QGridLayout and QStackedLayout.
该QLayout类是几何管理者的基类。
这是继承的具体类的抽象基类QBoxLayout,QGridLayout,QFormLayout和QStackedLayout。
有关的QLayout子类或用户QMainWindow里面很少有任何需要使用由QLayout提供的基本功能,如setSizeConstraint()或setMenuBar( ) 。看Layout Management了解更多信息。
为了使自己的布局管理器,实现功能addItem( )sizeHint( )setGeometry( )itemAt()和takeAt( ) 。你也应该实施minimumSize( ),以确保你的布局是不是调整到零尺寸,如果有空间太少。为了支持儿童,其高度依赖于它们的宽度,实施hasHeightForWidth()和heightForWidth( ) 。请参阅Border Layout和Flow Layout示例有关实现自定义布局管理器的更多信息。
当布局管理器被删除几何管理停止。
可能的值有:
Constant | Value | Description |
---|---|---|
QLayout.SetDefaultConstraint | 0 | 主窗口部件的最小大小设置为minimumSize()中,除插件已经具有的最小尺寸。 |
QLayout.SetFixedSize | 3 | 主窗口部件的大小设置为sizeHint();它不能在所有的调整大小。 |
QLayout.SetMinimumSize | 2 | 主窗口部件的最小大小设置为minimumSize();它不能是较小的。 |
QLayout.SetMaximumSize | 4 | 主窗口部件的最大大小设置为maximumSize();它不能大。 |
QLayout.SetMinAndMaxSize | 5 | 主窗口部件的最小大小设置为minimumSize() ,其最大尺寸设定为maximumSize( ) 。 |
QLayout.SetNoConstraint | 1 | 窗口小部件不受限。 |
See also setSizeConstraint( ) 。
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个新的顶级QLayout,与父parent。parent可能不是0 。
只能有一个是一个小部件的顶层布局。它是由返回QWidget.layout( ) 。
构造一个新的子QLayout。
这种布局有被插入到另一个布局之前几何管理将工作。
重做的布局parentWidget()如果需要的话。
你通常应该不需要调用这个,因为它是自动调用在最适当的时候。如果布局被再做它返回True 。
See also update()和QWidget.updateGeometry( ) 。
该l说法有它的所有权转移给Qt的。
此功能是从所谓的addLayout() or insertLayout()在子类的功能来添加布局l作为子布局。
在其中你需要把它直接调用的唯一情况是,如果你执行一个支持嵌套的布局自定义布局。
See also QBoxLayout.addLayout( )QBoxLayout.insertLayout()和QGridLayout.addLayout( ) 。
该w说法有它的所有权转移给Qt的。
此功能是从所谓的addWidget()在子类中添加功能w作为布局的一个管理部件。
If w已通过布局管理,此功能将给予警告并删除w从布局。这个功能,因此必须加入之前调用w到布局的数据结构。
这种方法是抽象的,应在任何子类中重新实现。
该QLayoutItem说法有它的所有权转移给Qt的。
实现在子类中添加一个item。它是如何添加特定于每个子类。
这个功能并不是通常所说的应用程序代码。以一个小部件添加到布局,使用addWidget( )函数;有关规定增加一个子布局,使用addLayout ( )函数QLayout子类。
Note:所有权item被转移到布局,它的布局的责任将其删除。
See also addWidget( )QBoxLayout.addLayout()和QGridLayout.addLayout( ) 。
该w说法有它的所有权转移给Qt的。
添加小工具w在特定的布局方式这样的布局。此函数使用addItem( ) 。
返回时,此布局的几何形状被设置为应涵盖的矩形r,但前提是这个布局支持setAlignment( ) 。
其结果是衍生自sizeHint( )和扩展( ) 。这是从来没有大于r。
从重新实现QObject.childEvent( ) 。
返回一个大小满足所有尺寸的限制widget包括heightForWidth( ),并且是尽可能接近到size。
返回周围的布局中使用的利润。
默认情况下,QLayout使用由式所提供的值。在大多数平台上,保证金是在所有方向11像素。
此功能被引入Qt的4.6 。
See also setContentsMargins( ) 。
返回布局的geometry( )的矩形,但考虑到内容的利润率。
此功能被引入Qt的4.3 。
See also setContentsMargins()和getContentsMargins( ) 。
这种方法是抽象的,应在任何子类中重新实现。
必须在子类中实现返回布局的项目数。
See also itemAt( ) 。
从重新实现QLayoutItem.expandingDirections( ) 。
返回此布局是否可以使更多的空间比使用sizeHint( ) 。的值Qt.Vertical or Qt.Horizontal意味着它要在只有一维增长,而Qt.Vertical|Qt.Horizontal也就是说,它要在这两个方面的增长。
默认实现返回Qt.Horizontal|Qt.Vertical。子类重新实现它返回基于其子控件的一个有意义的值size policies。
See also sizeHint( ) 。
从重新实现QLayoutItem.geometry( ) 。
See also setGeometry( ) 。
提取左,上,右,和周围的布局中使用上下边界,并为它们分配到*left*top*right和*bottom(除非他们是空指针) 。
默认情况下,QLayout使用由式所提供的值。在大多数平台上,保证金是在所有方向11像素。
此功能被引入Qt的4.3 。
See also setContentsMargins( )QStyle.pixelMetric( )PM_LayoutLeftMargin,PM_LayoutTopMargin,PM_LayoutRightMargin和PM_LayoutBottomMargin。
搜索小工具widget在这种布局(不包括子布局) 。
返回的索引widget,或-1,如果widget是没有找到。
对所有项目使用默认的实现迭代itemAt( )
从重新实现QLayoutItem.invalidate( ) 。
从重新实现QLayoutItem.isEmpty( ) 。
返回True如果启用了布局,否则返回False 。
See also setEnabled( ) 。
这种方法是抽象的,应在任何子类中重新实现。
必须在子类中实现,以在返回版面项目index。如果不存在这样的产品,该函数必须返回0。项目从0连续编号。如果一个项目被删除,其他项目将被重新编号。
此功能可用于迭代的布局。下面的代码将绘制在小部件的布局结构为每个布局项目的矩形。
static void paintLayout(QPainter *painter, QLayoutItem *item) { QLayout *layout = item->layout(); if (layout) { for (int i = 0; i < layout->count(); ++i) paintLayout(painter, layout->itemAt(i)); } painter->drawRect(item->geometry()); } void MyWidget.paintEvent(QPaintEvent *) { QPainter painter(this); if (layout()) paintLayout(&painter, layout()); }
从重新实现QLayoutItem.layout( ) 。
从重新实现QLayoutItem.maximumSize( ) 。
返回此布局的最大尺寸。这是该布局可以有同时仍尊重规格的最大尺寸。
返回值不包括所需的空间QWidget.setContentsMargins()或menuBar( ) 。
默认实现允许无限制调整大小。
返回菜单栏设置此布局,或者0,如果没有菜单栏设置。
See also setMenuBar( ) 。
从重新实现QLayoutItem.minimumSize( ) 。
返回此布局的最小尺寸。这是该布局可以有同时仍尊重的规格的最小尺寸。
返回值不包括所需的空间QWidget.setContentsMargins()或menuBar( ) 。
默认实现允许无限制调整大小。
返回此布局,或0的父控件,如果这个布局上没有任何部件安装。
如果布局是一个子布局,该函数返回父布局的父控件。
See also parent( ) 。
该QLayoutItem争论
删除布局项目item从布局。它是调用者的责任要删除的项目。
请注意,item可以是一个布局(自QLayout继承QLayoutItem) 。
See also removeWidget()和addItem( ) 。
删除小工具widget从布局。此调用后,它是调用者的责任给小部件合理的几何形状或把小工具放回布局。
Note:所有权widget保持不变它被加入时相同。
See also removeItem( )QWidget.setGeometry()和addWidget( ) 。
设置对齐部件w至alignment并返回True ,如果w在这种布局(不包括子布局)被发现,否则返回False 。
设置此项目的对齐方式alignment。
See also QLayoutItem.setAlignment( ) 。
这是一个重载函数。
设置对齐布局l至alignment并返回True ,如果l在这种布局(不包括子布局)被发现,否则返回False 。
设置left,top,right和bottom利润使用周围的布局。
默认情况下,QLayout使用由式所提供的值。在大多数平台上,保证金是在所有方向11像素。
此功能被引入Qt的4.3 。
See also contentsMargins( )getContentsMargins( )QStyle.pixelMetric( )PM_LayoutLeftMargin,PM_LayoutTopMargin,PM_LayoutRightMargin和PM_LayoutBottomMargin。
设置margins使用周围的布局。
默认情况下,QLayout使用由式所提供的值。在大多数平台上,保证金是在所有方向11像素。
此功能被引入Qt的4.6 。
See also contentsMargins( ) 。
启用此布局,如果enable是真,否则禁用它。
已启用的布局动态调整的变化,而停用的布局行为,就好像它不存在。
默认情况下所有版面已启用。
See also isEnabled( ) 。
从重新实现QLayoutItem.setGeometry( ) 。
See also geometry( ) 。
该w说法有它的所有权转移给Qt的。
告诉几何管理器放置在菜单栏widget在顶部parentWidget( ) ,外QWidget.contentsMargins( ) 。所有子控件放置在菜单栏的底部边缘下方。
See also menuBar( ) 。
这种方法是抽象的,应在任何子类中重新实现。
该QLayoutItem结果
必须在子类中实现以除去布局项目index从布局,并返回该项目。如果没有这样的项目,该函数必须什么也不做,返回0 。项目从0连续编号。如果一个项目被删除,其他项目将被重新编号。
下面的代码片段显示了一个安全的方式从布局中删除的所有项目:
QLayoutItem *child; while ((child = layout->takeAt(0)) != 0) { ... delete child; }
更新的布局parentWidget( ) 。
你通常应该不需要调用这个,因为它是自动调用在最适当的时候。
See also activate()和invalidate( ) 。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |