QGraphicsLayoutItem Class Reference

[QtGui module]

该QGraphicsLayoutItem类可以继承,允许您自定义的项目由布局管理。More…

通过继承QGraphicsLayoutQGraphicsWidget

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的一部分。

在大多数情况下,现有的布局识别类如QGraphicsWidgetQGraphicsLayout已经提供您需要的功能。然而,子类化这些类可以让你同时创建与布局工作以及图形元素(QGraphicsWidget)或自定义布局(QGraphicsLayout) 。

Subclassing QGraphicsLayoutItem

如果您创建QGraphicsLayoutItem的一个子类,并重新实现其虚函数,你将使布局调整和定位您的项目以及其他QGraphicsLayoutItems包括QGraphicsWidgetQGraphicsLayout

你可以开始通过重新实现重要的功能:保护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

  1. QGraphicsLayoutItem.__init__ (self, QGraphicsLayoutItem parent = None, bool isLayout = False)

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

构建QGraphicsLayoutItem对象。parent成为该对象的父。如果isLayout是真实的产品布局,否则isLayout是假的。

  1. QRectF QGraphicsLayoutItem.contentsRect (self)

[

返回的内容RECT在本地坐标。

]($docs-qrectf.html)

内容RECT定义安排子项目时所使用的相关联的布局的子矩形。这个函数是一个方便的功能,调整该项目的geometry( )其内容的利润率。需要注意的是getContentsMargins()是一个虚函数,你可以重新实现返回该项目的内容利润率。

See also getContentsMargins()和geometry( ) 。

  1. 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( ) 。

  1. QRectF QGraphicsLayoutItem.geometry (self)

返回该项目的几何形状(例如,位置和大小)作为QRectF。此功能相当于QRectF(POS () ,面积())。

See also setGeometry( ) 。

  1. (float left, float top, float right, float bottom) QGraphicsLayoutItem.getContentsMargins (self)

这个虚函数提供了lefttoprightbottom内容利润率为这个QGraphicsLayoutItem。默认实现假设所有内容边距为0 。参数指向存储在qreals值。如果有任何的指针为0 ,则该值将不会被更新。

See also QGraphicsWidget.setContentsMargins( ) 。

  1. QGraphicsItem QGraphicsLayoutItem.graphicsItem (self)

返回QGraphicsItem这个布局项目代表。为QGraphicsWidget它会返回自身。对于自定义项目可以返回一个汇总值。

See also setGraphicsItem( ) 。

  1. bool QGraphicsLayoutItem.isLayout (self)

返回True如果QGraphicsLayoutItem是一个布局(例如,由一个对象,安排其他遗传QGraphicsLayoutItem对象),否则返回False 。

See also QGraphicsLayout

  1. float QGraphicsLayoutItem.maximumHeight (self)

返回的最大高度。

See also setMaximumHeight( )setMaximumSize()和maximumSize( ) 。

  1. QSizeF QGraphicsLayoutItem.maximumSize (self)

[

返回的最大大小。

]($docs-qsizef.html)

See also setMaximumSize( )minimumSize( )preferredSize( )Qt.MaximumSizesizeHint( ) 。

  1. float QGraphicsLayoutItem.maximumWidth (self)

返回的最大宽度。

See also setMaximumWidth( )setMaximumSize()和maximumSize( ) 。

  1. float QGraphicsLayoutItem.minimumHeight (self)

返回最小高度。

See also setMinimumHeight( )setMinimumSize()和minimumSize( ) 。

  1. QSizeF QGraphicsLayoutItem.minimumSize (self)

[

返回最小尺寸。

]($docs-qsizef.html)

See also setMinimumSize( )preferredSize( )maximumSize( )Qt.MinimumSizesizeHint( ) 。

  1. float QGraphicsLayoutItem.minimumWidth (self)

返回最小宽度。

See also setMinimumWidth( )setMinimumSize()和minimumSize( ) 。

  1. bool QGraphicsLayoutItem.ownedByLayout (self)

返回一个布局是否应该删除其析构函数资料。如果为True,则布局将其删除。如果为False,那么假定另一个对象有它的所有权和布局不会删除此文件。

如果该项目既继承QGraphicsItemQGraphicsLayoutItem(如QGraphicsWidget一样)的产品真的两个层次所有权的一部分。此属性通知什么样的布局应与其子项做时,它被破坏。在的情况下QGraphicsWidget,优选的是,当布局被删除也不会删除它的孩子(因为它们也是图形项目分层结构的一部分)。

默认情况下这个值被初始化为FalseQGraphicsLayoutItem的,但它是由被重写QGraphicsLayout返回True 。这是因为QGraphicsLayout不是的正常组成部分QGraphicsItem层次结构,因此父布局应删除它。子类可以通过调用setOwnedByLayout (真)复盖此默认行为。

此功能被引入Qt的4.6 。

See also setOwnedByLayout( ) 。

  1. QGraphicsLayoutItem QGraphicsLayoutItem.parentLayoutItem (self)

返回此父QGraphicsLayoutItem,或者0 ,如果没有父母,或如果家长不从继承QGraphicsLayoutItemQGraphicsLayoutItem往往是通过多重继承与使用QObject派生类) 。

See also setParentLayoutItem( ) 。

  1. float QGraphicsLayoutItem.preferredHeight (self)

返回的首选高度。

See also setPreferredHeight( )setPreferredSize()和preferredSize( ) 。

  1. QSizeF QGraphicsLayoutItem.preferredSize (self)

[

返回首选大小。

]($docs-qsizef.html)

See also setPreferredSize( )minimumSize( )maximumSize( )Qt.PreferredSizesizeHint( ) 。

  1. float QGraphicsLayoutItem.preferredWidth (self)

返回的首选宽度。

See also setPreferredWidth( )setPreferredSize()和preferredSize( ) 。

  1. QGraphicsLayoutItem.setGeometry (self, QRectF rect)

这个虚拟函数设置的几何QGraphicsLayoutItemrect,这是在父坐标(例如,在左上角rect等效于在父坐标中的项的位置)。

您必须在子类中重新实现这个功能QGraphicsLayoutItem接收几何更新。该布局将调用此函数时,它做了重排。

If rect是的MinimumSize和MAXIMUMSIZE的范围之外,将被调整到其最接近的大小,以便它是合法范围内。

See also geometry( ) 。

  1. QGraphicsLayoutItem.setGraphicsItem (self, QGraphicsItem item)

如果QGraphicsLayoutItem代表QGraphicsItem,以及它要采取的自动重定父级功能的优势QGraphicsLayout它应该设置这个值。需要注意的是,如果你删除item而不是删除版面项目,你有责任( 0 ) ,以避免悬空指针调用setGraphicsItem的。

See also graphicsItem( ) 。

  1. QGraphicsLayoutItem.setMaximumHeight (self, float height)

设置最大高度height

See also maximumHeight( )setMaximumSize()和maximumSize( ) 。

  1. QGraphicsLayoutItem.setMaximumSize (self, QSizeF size)

设置最大尺寸size。此属性重写sizeHint( )为Qt.MaximumSize并确保effectiveSizeHint( )将永远不会返回一个尺寸大于size。为了取消设置的最大大小,使用一个无效的大小。

See also maximumSize( )minimumSize( )preferredSize( )Qt.MaximumSizesizeHint( ) 。

  1. QGraphicsLayoutItem.setMaximumSize (self, float aw, float ah)

这个方便的功能等同于调用setMaximumSize (QSizeFwh))。

See also maximumSize( )setMinimumSize( )setPreferredSize()和sizeHint( ) 。

  1. QGraphicsLayoutItem.setMaximumWidth (self, float width)

设置最大宽度,以width

See also maximumWidth( )setMaximumSize()和maximumSize( ) 。

  1. QGraphicsLayoutItem.setMinimumHeight (self, float height)

设置最小高度height

See also minimumHeight( )setMinimumSize()和minimumSize( ) 。

  1. QGraphicsLayoutItem.setMinimumSize (self, QSizeF size)

设置最小大小至size。此属性重写sizeHint( )为Qt.MinimumSize并确保effectiveSizeHint( )将永远不会返回一个尺寸小于size。为了取消设置的最小尺寸,使用一个无效的大小。

See also minimumSize( )maximumSize( )preferredSize( )Qt.MinimumSizesizeHint( )setMinimumWidth()和setMinimumHeight( ) 。

  1. QGraphicsLayoutItem.setMinimumSize (self, float aw, float ah)

这个方便的功能等同于调用setMinimumSize (QSizeFwh))。

See also minimumSize( )setMaximumSize( )setPreferredSize()和sizeHint( ) 。

  1. QGraphicsLayoutItem.setMinimumWidth (self, float width)

设置最小宽度,以width

See also minimumWidth( )setMinimumSize()和minimumSize( ) 。

  1. QGraphicsLayoutItem.setOwnedByLayout (self, bool ownedByLayout)

设置一个布局是否应该删除其析构函数或不是这个项目。ownership必须按顺序进行布局,以删除它是真实的。

此功能被引入Qt的4.6 。

See also ownedByLayout( ) 。

  1. QGraphicsLayoutItem.setParentLayoutItem (self, QGraphicsLayoutItem parent)

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

设置的这个父QGraphicsLayoutItemparent

See also parentLayoutItem( ) 。

  1. QGraphicsLayoutItem.setPreferredHeight (self, float height)

设置首选高度height

See also preferredHeight( )preferredWidth( )setPreferredSize()和preferredSize( ) 。

  1. QGraphicsLayoutItem.setPreferredSize (self, QSizeF size)

设置首选大小size。此属性重写sizeHint( )为Qt.PreferredSize并提供默认值effectiveSizeHint( ) 。为了取消设置的首选大小,使用一个无效的大小。

See also preferredSize( )minimumSize( )maximumSize( )Qt.PreferredSizesizeHint( ) 。

  1. QGraphicsLayoutItem.setPreferredSize (self, float aw, float ah)

这个方便的功能等同于调用setPreferredSize (QSizeFwh))。

See also preferredSize( )setMaximumSize( )setMinimumSize()和sizeHint( ) 。

  1. QGraphicsLayoutItem.setPreferredWidth (self, float width)

设置首选宽度width

See also preferredWidth( )preferredHeight( )setPreferredSize()和preferredSize( ) 。

  1. QGraphicsLayoutItem.setSizePolicy (self, QSizePolicy policy)

设置大小政策policy。大小政策说明如何安排时,在布局中的项目应增加水平和垂直方向。

QGraphicsLayoutItem的默认大小政策(QSizePolicy.FixedQSizePolicy.FixedQSizePolicy.DefaultType),但它是很常见的子类来更改默认值。例如,QGraphicsWidget默认为(QSizePolicy.PreferredQSizePolicy.PreferredQSizePolicy.DefaultType) 。

See also sizePolicy()和QWidget.sizePolicy( ) 。

  1. QGraphicsLayoutItem.setSizePolicy (self, QSizePolicy.Policy hPolicy, QSizePolicy.Policy vPolicy, QSizePolicy.ControlType controlType = QSizePolicy.DefaultType)

这是一个重载函数。

此功能相当于调用setSizePolicy (QSizePolicyhPolicyvPolicycontrolType))。

See also sizePolicy()和QWidget.sizePolicy( ) 。

  1. QSizeF QGraphicsLayoutItem.sizeHint (self, Qt.SizeHint which, QSizeF constraint = QSizeF())

[

这种方法是抽象的,应在任何子类中重新实现。

]($docs-qsizef.html)

这个纯虚函数返回的大小为提示whichQGraphicsLayoutItem使用的宽度或高度constraint来限制输出。

在子类重新实现此功能QGraphicsLayoutItem提供必要的尺寸提示为您的项目。

See also effectiveSizeHint( ) 。

  1. QSizePolicy QGraphicsLayoutItem.sizePolicy (self)

[

返回当前大小政策。

]($docs-qsizepolicy.html)

See also setSizePolicy()和QWidget.sizePolicy( ) 。

  1. QGraphicsLayoutItem.updateGeometry (self)

这个虚函数丢弃任何缓存大小的提示信息。你应该总是调用这个函数,如果你改变的返回值sizeHint()函数。重新实现此功能,当子类必须始终调用基实现。

See also effectiveSizeHint( ) 。