QGraphicsLayoutItem Class Reference
[QtGui module]
该QGraphicsLayoutItem类可以继承,允许您自定义的项目由布局管理。More…
通过继承QGraphicsLayout和QGraphicsWidget。
Methods
__init__ (self, QGraphicsLayoutItem parent = None, bool isLayout = False)
QRectF contentsRect (self)
QSizeF effectiveSizeHint (self, Qt.SizeHint which, QSizeF constraint = QSizeF())
QRectF geometry (self)
(float left, float top, float right, float bottom) getContentsMargins (self)
QGraphicsItem graphicsItem (self)
bool isLayout (self)
float maximumHeight (self)
QSizeF maximumSize (self)
float maximumWidth (self)
float minimumHeight (self)
QSizeF minimumSize (self)
float minimumWidth (self)
bool ownedByLayout (self)
QGraphicsLayoutItem parentLayoutItem (self)
float preferredHeight (self)
QSizeF preferredSize (self)
float preferredWidth (self)
setGeometry (self, QRectF rect)
setGraphicsItem (self, QGraphicsItem item)
setMaximumHeight (self, float height)
setMaximumSize (self, QSizeF size)
setMaximumSize (self, float aw, float ah)
setMaximumWidth (self, float width)
setMinimumHeight (self, float height)
setMinimumSize (self, QSizeF size)
setMinimumSize (self, float aw, float ah)
setMinimumWidth (self, float width)
setOwnedByLayout (self, bool ownedByLayout)
setParentLayoutItem (self, QGraphicsLayoutItem parent)
setPreferredHeight (self, float height)
setPreferredSize (self, QSizeF size)
setPreferredSize (self, float aw, float ah)
setPreferredWidth (self, float width)
setSizePolicy (self, QSizePolicy policy)
setSizePolicy (self, QSizePolicy.Policy hPolicy, QSizePolicy.Policy vPolicy, QSizePolicy.ControlType controlType = QSizePolicy.DefaultType)
QSizeF sizeHint (self, Qt.SizeHint which, QSizeF constraint = QSizeF())
QSizePolicy sizePolicy (self)
updateGeometry (self)
Detailed Description
该QGraphicsLayoutItem类可以继承,允许您自定义的项目由布局管理。
QGraphicsLayoutItem是定义一组虚函数描述的尺寸,大小政策,大小提示了由任何对象的抽象类QGraphicsLayout。该API包含相关功能为项目本身和项目的用户,因为大多数的QGraphicsLayoutItem的功能也子类“公共API的一部分。
在大多数情况下,现有的布局识别类如QGraphicsWidget和QGraphicsLayout已经提供您需要的功能。然而,子类化这些类可以让你同时创建与布局工作以及图形元素(QGraphicsWidget)或自定义布局(QGraphicsLayout) 。
Subclassing QGraphicsLayoutItem
如果您创建QGraphicsLayoutItem的一个子类,并重新实现其虚函数,你将使布局调整和定位您的项目以及其他QGraphicsLayoutItems包括QGraphicsWidget和QGraphicsLayout。
你可以开始通过重新实现重要的功能:保护sizeHint()函数,以及公共setGeometry()函数。如果你希望你的项目做到心中有数即时几何变化,你也可以重新实现updateGeometry( ) 。
几何形状,尺寸暗示,和大小政策影响的项目的大小和位置。调用setGeometry( )总是会调整,并立即重新定位的项目。通常情况下,这个函数被调用者QGraphicsLayout后的布局已经被激活,但它也可以由该项目的用户在任何时间被调用。
该sizeHint( )函数返回的项目’最小,首选和最大大小的提示。你可以通过调用重载这些属性setMinimumSize( )setPreferredSize()或setMaximumSize( ) 。您还可以使用的功能,如setMinimumWidth()或setMaximumHeight(如果需要的话),以仅设置宽度或高度的组件。
该effectiveSizeHint()函数,在另一方面,它返回一个大小暗示对于任何给定Qt.SizeHint,并保证了返回的大小被绑定到的最小和最大尺寸和大小的提示。你可以通过调用设定的项目的水平和垂直尺寸的政策setSizePolicy( ) 。该sizePolicy属性由布局系统来描述这个项目倾向于增大或缩小。
Nesting QGraphicsLayoutItems
可以嵌套在其他QGraphicsLayoutItems ,类似的布局,它可以包含sublayouts内QGraphicsLayoutItems 。这要么是通过传递一个QGraphicsLayoutItem指针QGraphicsLayoutItem的受保护的构造,或致电进行setParentLayoutItem( ) 。该parentLayoutItem( )函数返回一个指向该项目的layoutItem父。如果该项目的母公司为0 ,或者如果家长不从继承QGraphicsItem时,parentLayoutItem( )函数则返回0 。isLayout如果QGraphicsLayoutItem子类本身就是一个布局,否则为False ()返回True 。
Qt使用QGraphicsLayoutItem提供布局功能的Graphics View Framework,但在未来它的使用可能在整个Qt本身传播。
Method Documentation
QGraphicsLayoutItem.__init__ (self, QGraphicsLayoutItem parent = None, bool isLayout = False)
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构建QGraphicsLayoutItem对象。parent成为该对象的父。如果isLayout是真实的产品布局,否则isLayout是假的。
QRectF QGraphicsLayoutItem.contentsRect (self)
[
返回的内容RECT在本地坐标。
]($docs-qrectf.html)
内容RECT定义安排子项目时所使用的相关联的布局的子矩形。这个函数是一个方便的功能,调整该项目的geometry( )其内容的利润率。需要注意的是getContentsMargins()是一个虚函数,你可以重新实现返回该项目的内容利润率。
See also getContentsMargins()和geometry( ) 。
QSizeF QGraphicsLayoutItem.effectiveSizeHint (self, Qt.SizeHint which, QSizeF constraint = QSizeF())
返回的有效尺寸暗示这QGraphicsLayoutItem。
which是有问题的大小提示。constraint是计算实际尺寸暗示,当定义了一个特殊约束可选参数。默认情况下,constraint is QSizeF( -1,-1) ,表示没有约束的尺寸暗示。
如果您要指定物件的尺寸暗示对于给定的宽度或高度,可以提供固定的维度constraint。这是一个小工具,可以仅增长水平或垂直,并且需要设置或者其宽度或高度的一个特殊值非常有用。
例如,一个文本段落产品放进200列宽可以垂直生长。你可以通过QSizeF(200 ,-1)作为约束得到一个合适的最小,首选和最大高度)。
您可以通过重新实现调整的有效尺寸提示sizeHint在()QGraphicsLayoutItem子类,或致电以下功能之一:setMinimumSize( ) , setPreferredSize ,或setMaximumSize( )(或两者的组合) 。
这个功能每个缓存的大小的提示和保证sizeHint( )将被用于的每个值只被调用一次which - 除非constraint没有被指定,并updateGeometry( )被调用。
See also sizeHint( ) 。
QRectF QGraphicsLayoutItem.geometry (self)
返回该项目的几何形状(例如,位置和大小)作为QRectF。此功能相当于QRectF(POS () ,面积())。
See also setGeometry( ) 。
(float left, float top, float right, float bottom) QGraphicsLayoutItem.getContentsMargins (self)
这个虚函数提供了left,top,right和bottom内容利润率为这个QGraphicsLayoutItem。默认实现假设所有内容边距为0 。参数指向存储在qreals值。如果有任何的指针为0 ,则该值将不会被更新。
See also QGraphicsWidget.setContentsMargins( ) 。
QGraphicsItem QGraphicsLayoutItem.graphicsItem (self)
返回QGraphicsItem这个布局项目代表。为QGraphicsWidget它会返回自身。对于自定义项目可以返回一个汇总值。
See also setGraphicsItem( ) 。
bool QGraphicsLayoutItem.isLayout (self)
返回True如果QGraphicsLayoutItem是一个布局(例如,由一个对象,安排其他遗传QGraphicsLayoutItem对象),否则返回False 。
See also QGraphicsLayout。
float QGraphicsLayoutItem.maximumHeight (self)
返回的最大高度。
See also setMaximumHeight( )setMaximumSize()和maximumSize( ) 。
QSizeF QGraphicsLayoutItem.maximumSize (self)
[
返回的最大大小。
]($docs-qsizef.html)
See also setMaximumSize( )minimumSize( )preferredSize( )Qt.MaximumSize和sizeHint( ) 。
float QGraphicsLayoutItem.maximumWidth (self)
返回的最大宽度。
See also setMaximumWidth( )setMaximumSize()和maximumSize( ) 。
float QGraphicsLayoutItem.minimumHeight (self)
返回最小高度。
See also setMinimumHeight( )setMinimumSize()和minimumSize( ) 。
QSizeF QGraphicsLayoutItem.minimumSize (self)
[
返回最小尺寸。
]($docs-qsizef.html)
See also setMinimumSize( )preferredSize( )maximumSize( )Qt.MinimumSize和sizeHint( ) 。
float QGraphicsLayoutItem.minimumWidth (self)
返回最小宽度。
See also setMinimumWidth( )setMinimumSize()和minimumSize( ) 。
bool QGraphicsLayoutItem.ownedByLayout (self)
返回一个布局是否应该删除其析构函数资料。如果为True,则布局将其删除。如果为False,那么假定另一个对象有它的所有权和布局不会删除此文件。
如果该项目既继承QGraphicsItem和QGraphicsLayoutItem(如QGraphicsWidget一样)的产品真的两个层次所有权的一部分。此属性通知什么样的布局应与其子项做时,它被破坏。在的情况下QGraphicsWidget,优选的是,当布局被删除也不会删除它的孩子(因为它们也是图形项目分层结构的一部分)。
默认情况下这个值被初始化为FalseQGraphicsLayoutItem的,但它是由被重写QGraphicsLayout返回True 。这是因为QGraphicsLayout不是的正常组成部分QGraphicsItem层次结构,因此父布局应删除它。子类可以通过调用setOwnedByLayout (真)复盖此默认行为。
此功能被引入Qt的4.6 。
See also setOwnedByLayout( ) 。
QGraphicsLayoutItem QGraphicsLayoutItem.parentLayoutItem (self)
返回此父QGraphicsLayoutItem,或者0 ,如果没有父母,或如果家长不从继承QGraphicsLayoutItem(QGraphicsLayoutItem往往是通过多重继承与使用QObject派生类) 。
See also setParentLayoutItem( ) 。
float QGraphicsLayoutItem.preferredHeight (self)
返回的首选高度。
See also setPreferredHeight( )setPreferredSize()和preferredSize( ) 。
QSizeF QGraphicsLayoutItem.preferredSize (self)
[
返回首选大小。
]($docs-qsizef.html)
See also setPreferredSize( )minimumSize( )maximumSize( )Qt.PreferredSize和sizeHint( ) 。
float QGraphicsLayoutItem.preferredWidth (self)
返回的首选宽度。
See also setPreferredWidth( )setPreferredSize()和preferredSize( ) 。
QGraphicsLayoutItem.setGeometry (self, QRectF rect)
这个虚拟函数设置的几何QGraphicsLayoutItem至rect,这是在父坐标(例如,在左上角rect等效于在父坐标中的项的位置)。
您必须在子类中重新实现这个功能QGraphicsLayoutItem接收几何更新。该布局将调用此函数时,它做了重排。
If rect是的MinimumSize和MAXIMUMSIZE的范围之外,将被调整到其最接近的大小,以便它是合法范围内。
See also geometry( ) 。
QGraphicsLayoutItem.setGraphicsItem (self, QGraphicsItem item)
如果QGraphicsLayoutItem代表QGraphicsItem,以及它要采取的自动重定父级功能的优势QGraphicsLayout它应该设置这个值。需要注意的是,如果你删除item而不是删除版面项目,你有责任( 0 ) ,以避免悬空指针调用setGraphicsItem的。
See also graphicsItem( ) 。
QGraphicsLayoutItem.setMaximumHeight (self, float height)
设置最大高度height。
See also maximumHeight( )setMaximumSize()和maximumSize( ) 。
QGraphicsLayoutItem.setMaximumSize (self, QSizeF size)
设置最大尺寸size。此属性重写sizeHint( )为Qt.MaximumSize并确保effectiveSizeHint( )将永远不会返回一个尺寸大于size。为了取消设置的最大大小,使用一个无效的大小。
See also maximumSize( )minimumSize( )preferredSize( )Qt.MaximumSize和sizeHint( ) 。
QGraphicsLayoutItem.setMaximumSize (self, float aw, float ah)
这个方便的功能等同于调用setMaximumSize (QSizeF(w,h))。
See also maximumSize( )setMinimumSize( )setPreferredSize()和sizeHint( ) 。
QGraphicsLayoutItem.setMaximumWidth (self, float width)
设置最大宽度,以width。
See also maximumWidth( )setMaximumSize()和maximumSize( ) 。
QGraphicsLayoutItem.setMinimumHeight (self, float height)
设置最小高度height。
See also minimumHeight( )setMinimumSize()和minimumSize( ) 。
QGraphicsLayoutItem.setMinimumSize (self, QSizeF size)
设置最小大小至size。此属性重写sizeHint( )为Qt.MinimumSize并确保effectiveSizeHint( )将永远不会返回一个尺寸小于size。为了取消设置的最小尺寸,使用一个无效的大小。
See also minimumSize( )maximumSize( )preferredSize( )Qt.MinimumSize,sizeHint( )setMinimumWidth()和setMinimumHeight( ) 。
QGraphicsLayoutItem.setMinimumSize (self, float aw, float ah)
这个方便的功能等同于调用setMinimumSize (QSizeF(w,h))。
See also minimumSize( )setMaximumSize( )setPreferredSize()和sizeHint( ) 。
QGraphicsLayoutItem.setMinimumWidth (self, float width)
设置最小宽度,以width。
See also minimumWidth( )setMinimumSize()和minimumSize( ) 。
QGraphicsLayoutItem.setOwnedByLayout (self, bool ownedByLayout)
设置一个布局是否应该删除其析构函数或不是这个项目。ownership必须按顺序进行布局,以删除它是真实的。
此功能被引入Qt的4.6 。
See also ownedByLayout( ) 。
QGraphicsLayoutItem.setParentLayoutItem (self, QGraphicsLayoutItem parent)
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
设置的这个父QGraphicsLayoutItem至parent。
See also parentLayoutItem( ) 。
QGraphicsLayoutItem.setPreferredHeight (self, float height)
设置首选高度height。
See also preferredHeight( )preferredWidth( )setPreferredSize()和preferredSize( ) 。
QGraphicsLayoutItem.setPreferredSize (self, QSizeF size)
设置首选大小size。此属性重写sizeHint( )为Qt.PreferredSize并提供默认值effectiveSizeHint( ) 。为了取消设置的首选大小,使用一个无效的大小。
See also preferredSize( )minimumSize( )maximumSize( )Qt.PreferredSize和sizeHint( ) 。
QGraphicsLayoutItem.setPreferredSize (self, float aw, float ah)
这个方便的功能等同于调用setPreferredSize (QSizeF(w,h))。
See also preferredSize( )setMaximumSize( )setMinimumSize()和sizeHint( ) 。
QGraphicsLayoutItem.setPreferredWidth (self, float width)
设置首选宽度width。
See also preferredWidth( )preferredHeight( )setPreferredSize()和preferredSize( ) 。
QGraphicsLayoutItem.setSizePolicy (self, QSizePolicy policy)
设置大小政策policy。大小政策说明如何安排时,在布局中的项目应增加水平和垂直方向。
QGraphicsLayoutItem的默认大小政策(QSizePolicy.Fixed,QSizePolicy.Fixed,QSizePolicy.DefaultType),但它是很常见的子类来更改默认值。例如,QGraphicsWidget默认为(QSizePolicy.Preferred,QSizePolicy.Preferred,QSizePolicy.DefaultType) 。
See also sizePolicy()和QWidget.sizePolicy( ) 。
QGraphicsLayoutItem.setSizePolicy (self, QSizePolicy.Policy hPolicy, QSizePolicy.Policy vPolicy, QSizePolicy.ControlType controlType = QSizePolicy.DefaultType)
这是一个重载函数。
此功能相当于调用setSizePolicy (QSizePolicy(hPolicy,vPolicy,controlType))。
See also sizePolicy()和QWidget.sizePolicy( ) 。
QSizeF QGraphicsLayoutItem.sizeHint (self, Qt.SizeHint which, QSizeF constraint = QSizeF())
[
这种方法是抽象的,应在任何子类中重新实现。
]($docs-qsizef.html)
这个纯虚函数返回的大小为提示which的QGraphicsLayoutItem使用的宽度或高度constraint来限制输出。
在子类重新实现此功能QGraphicsLayoutItem提供必要的尺寸提示为您的项目。
See also effectiveSizeHint( ) 。
QSizePolicy QGraphicsLayoutItem.sizePolicy (self)
[
返回当前大小政策。
]($docs-qsizepolicy.html)
See also setSizePolicy()和QWidget.sizePolicy( ) 。
QGraphicsLayoutItem.updateGeometry (self)
这个虚函数丢弃任何缓存大小的提示信息。你应该总是调用这个函数,如果你改变的返回值sizeHint()函数。重新实现此功能,当子类必须始终调用基实现。
See also effectiveSizeHint( ) 。