QGraphicsLayoutItemclass can be inherited to allow your custom items to be managed by layouts. 更多 …
继承者: QGraphicsAnchorLayout , QGraphicsGridLayout , QGraphicsLayout , QGraphicsLinearLayout
def
contentsRect
()
def
effectiveSizeHint
(which[, constraint=QSizeF()])
def
geometry
()
def
graphicsItem
()
def
isLayout
()
def
maximumHeight
()
def
maximumSize
()
def
maximumWidth
()
def
minimumHeight
()
def
minimumSize
()
def
minimumWidth
()
def
ownedByLayout
()
def
parentLayoutItem
()
def
preferredHeight
()
def
preferredSize
()
def
preferredWidth
()
def
setGraphicsItem
(item)
def
setMaximumHeight
(height)
def
setMaximumSize
(size)
def
setMaximumSize
(w, h)
def
setMaximumWidth
(width)
def
setMinimumHeight
(height)
def
setMinimumSize
(size)
def
setMinimumSize
(w, h)
def
setMinimumWidth
(width)
def
setOwnedByLayout
(ownedByLayout)
def
setParentLayoutItem
(parent)
def
setPreferredHeight
(height)
def
setPreferredSize
(size)
def
setPreferredSize
(w, h)
def
setPreferredWidth
(width)
def
setSizePolicy
(hPolicy, vPolicy[, controlType=QSizePolicy.DefaultType])
def
setSizePolicy
(policy)
def
sizePolicy
()
def
getContentsMargins
()
def
setGeometry
(rect)
def
sizeHint
(which[, constraint=QSizeF()])
def
updateGeometry
()
QGraphicsLayoutItemis an abstract class that defines a set of virtual functions describing sizes, size policies, and size hints for any object arranged by QGraphicsLayout . The API contains functions relevant for both the item itself and for the user of the item as most ofQGraphicsLayoutItem‘s functions are also part of the subclass’ public API.In most cases, existing layout-aware classes such as QGraphicsWidget and QGraphicsLayout already provide the functionality you require. However, subclassing these classes will enable you to create both graphical elements that work well with layouts ( QGraphicsWidget ) or custom layouts ( QGraphicsLayout ).
If you create a subclass of
QGraphicsLayoutItemand reimplement its virtual functions, you will enable the layout to resize and position your item along with other QGraphicsLayoutItems including QGraphicsWidget and QGraphicsLayout .You can start by reimplementing important functions: the protected
sizeHint()function, as well as the publicsetGeometry()function. If you want your items to be aware of immediate geometry changes, you can also reimplementupdateGeometry().The geometry, size hint, and size policy affect the item’s size and position. Calling
setGeometry()will always resize and reposition the item immediately. Normally, this function is called by QGraphicsLayout after the layout has been activated, but it can also be called by the item’s user at any time.
sizeHint()function returns the item’ minimum, preferred and maximum size hints. You can override these properties by callingsetMinimumSize(),setPreferredSize()orsetMaximumSize(). You can also use functions such assetMinimumWidth()orsetMaximumHeight()to set only the width or height component if desired.
effectiveSizeHint()function, on the other hand, returns a size hint for any givenSizeHint, and guarantees that the returned size is bound to the minimum and maximum sizes and size hints. You can set the item’s vertical and horizontal size policy by callingsetSizePolicy()。sizePolicyproperty is used by the layout system to describe how this item prefers to grow or shrink.
QGraphicsLayoutItems can be nested within other QGraphicsLayoutItems, similar to layouts that can contain sublayouts. This is done either by passing a
QGraphicsLayoutItempointer toQGraphicsLayoutItem‘s protected constructor, or by callingsetParentLayoutItem()。parentLayoutItem()function returns a pointer to the item’s layoutItem parent. If the item’s parent isNoneor if the parent does not inherit fromQGraphicsItem,parentLayoutItem()function then returnsNone.isLayout()返回true若QGraphicsLayoutItemsubclass is itself a layout, or false otherwise.Qt uses
QGraphicsLayoutItemto provide layout functionality in the 图形视图框架 , but in the future its use may spread throughout Qt itself.
QGraphicsLayoutItem
(
[
parent=None
[
,
isLayout=false
]
]
)
¶
- param parent
- param isLayout
bool
构造
QGraphicsLayoutItem
对象。
parent
becomes the object’s parent. If
isLayout
is true the item is a layout, otherwise
isLayout
is false.
PySide2.QtWidgets.QGraphicsLayoutItem.
contentsRect
(
)
¶
QRectF
Returns the contents rect in local coordinates.
The contents rect defines the subrectangle used by an associated layout when arranging subitems. This function is a convenience function that adjusts the item’s
geometry()
by its contents margins. Note that
getContentsMargins()
is a virtual function that you can reimplement to return the item’s contents margins.
PySide2.QtWidgets.QGraphicsLayoutItem.
effectiveSizeHint
(
which
[
,
constraint=QSizeF()
]
)
¶
which
–
SizeHint
constraint
–
QSizeF
QSizeF
Returns the effective size hint for this
QGraphicsLayoutItem
.
which
is the size hint in question.
constraint
is an optional argument that defines a special constrain when calculating the effective size hint. By default,
constraint
is
QSizeF
(-1, -1), which means there is no constraint to the size hint.
If you want to specify the widget’s size hint for a given width or height, you can provide the fixed dimension in
constraint
. This is useful for widgets that can grow only either vertically or horizontally, and need to set either their width or their height to a special value.
For example, a text paragraph item fit into a column width of 200 may grow vertically. You can pass
QSizeF
(200, -1) as a constraint to get a suitable minimum, preferred and maximum height).
You can adjust the effective size hint by reimplementing
sizeHint()
在
QGraphicsLayoutItem
subclass, or by calling one of the following functions:
setMinimumSize()
,
setPreferredSize
,或
setMaximumSize()
(or a combination of both).
This function caches each of the size hints and guarantees that
sizeHint()
will be called only once for each value of
which
- unless
constraint
is not specified and
updateGeometry()
has been called.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
geometry
(
)
¶
QRectF
Returns the item’s geometry (e.g., position and size) as a
QRectF
. This function is equivalent to
QRectF
(pos(), size()).
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
getContentsMargins
(
)
¶
This virtual function provides the
left
,
top
,
right
and
bottom
contents margins for this
QGraphicsLayoutItem
. The default implementation assumes all contents margins are 0. The parameters point to values stored in qreals. If any of the pointers is
None
, that value will not be updated.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
graphicsItem
(
)
¶
返回
QGraphicsItem
that this layout item represents. For
QGraphicsWidget
it will return itself. For custom items it can return an aggregated value.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
isLayout
(
)
¶
bool
返回
true
若此
QGraphicsLayoutItem
is a layout (e.g., is inherited by an object that arranges other
QGraphicsLayoutItem
objects); otherwise returns
false
.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
maximumHeight
(
)
¶
qreal
Returns the maximum height.
PySide2.QtWidgets.QGraphicsLayoutItem.
maximumSize
(
)
¶
QSizeF
Returns the maximum size.
另请参阅
setMaximumSize()
minimumSize()
preferredSize()
MaximumSize
sizeHint()
PySide2.QtWidgets.QGraphicsLayoutItem.
maximumWidth
(
)
¶
qreal
Returns the maximum width.
PySide2.QtWidgets.QGraphicsLayoutItem.
minimumHeight
(
)
¶
qreal
Returns the minimum height.
PySide2.QtWidgets.QGraphicsLayoutItem.
minimumSize
(
)
¶
QSizeF
Returns the minimum size.
另请参阅
setMinimumSize()
preferredSize()
maximumSize()
MinimumSize
sizeHint()
PySide2.QtWidgets.QGraphicsLayoutItem.
minimumWidth
(
)
¶
qreal
Returns the minimum width.
PySide2.QtWidgets.QGraphicsLayoutItem.
ownedByLayout
(
)
¶
bool
Returns whether a layout should delete this item in its destructor. If its true, then the layout will delete it. If its false, then it is assumed that another object has the ownership of it, and the layout won’t delete this item.
If the item inherits both
QGraphicsItem
and
QGraphicsLayoutItem
(譬如
QGraphicsWidget
does) the item is really part of two ownership hierarchies. This property informs what the layout should do with its child items when it is destructed. In the case of
QGraphicsWidget
, it is preferred that when the layout is deleted it won’t delete its children (since they are also part of the graphics item hierarchy).
By default this value is initialized to false in
QGraphicsLayoutItem
, but it is overridden by
QGraphicsLayout
to return true. This is because
QGraphicsLayout
is not normally part of the
QGraphicsItem
hierarchy, so the parent layout should delete it. Subclasses might override this default behaviour by calling
setOwnedByLayout
(true)。
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
parentLayoutItem
(
)
¶
Returns the parent of this
QGraphicsLayoutItem
,或
None
if there is no parent, or if the parent does not inherit from
QGraphicsLayoutItem
(
QGraphicsLayoutItem
is often used through multiple inheritance with
QObject
-derived classes).
PySide2.QtWidgets.QGraphicsLayoutItem.
preferredHeight
(
)
¶
qreal
Returns the preferred height.
PySide2.QtWidgets.QGraphicsLayoutItem.
preferredSize
(
)
¶
QSizeF
Returns the preferred size.
另请参阅
setPreferredSize()
minimumSize()
maximumSize()
PreferredSize
sizeHint()
PySide2.QtWidgets.QGraphicsLayoutItem.
preferredWidth
(
)
¶
qreal
Returns the preferred width.
PySide2.QtWidgets.QGraphicsLayoutItem.
setGeometry
(
rect
)
¶
rect
–
QRectF
This virtual function sets the geometry of the
QGraphicsLayoutItem
to
rect
, which is in parent coordinates (e.g., the top-left corner of
rect
is equivalent to the item’s position in parent coordinates).
You must reimplement this function in a subclass of
QGraphicsLayoutItem
to receive geometry updates. The layout will call this function when it does a rearrangement.
若
rect
is outside of the bounds of
minimumSize
and
maximumSize
, it will be adjusted to its closest size so that it is within the legal bounds.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
setGraphicsItem
(
item
)
¶
item
–
QGraphicsItem
若
QGraphicsLayoutItem
represents a
QGraphicsItem
, and it wants to take advantage of the automatic reparenting capabilities of
QGraphicsLayout
it should set this value. Note that if you delete
item
and not delete the layout item, you are responsible of calling (
None
) in order to avoid having a dangling pointer.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
setMaximumHeight
(
height
)
¶
height
–
qreal
Sets the maximum height to
height
.
PySide2.QtWidgets.QGraphicsLayoutItem.
setMaximumSize
(
size
)
¶
size
–
QSizeF
Sets the maximum size to
size
. This property overrides
sizeHint()
for
MaximumSize
and ensures that
effectiveSizeHint()
will never return a size larger than
size
. In order to unset the maximum size, use an invalid size.
另请参阅
maximumSize()
minimumSize()
preferredSize()
MaximumSize
sizeHint()
PySide2.QtWidgets.QGraphicsLayoutItem.
setMaximumSize
(
w
,
h
)
¶
w
–
qreal
h
–
qreal
This convenience function is equivalent to calling
setMaximumSize
(
QSizeF
(
w
,
h
)).
PySide2.QtWidgets.QGraphicsLayoutItem.
setMaximumWidth
(
width
)
¶
width
–
qreal
Sets the maximum width to
width
.
PySide2.QtWidgets.QGraphicsLayoutItem.
setMinimumHeight
(
height
)
¶
height
–
qreal
Sets the minimum height to
height
.
PySide2.QtWidgets.QGraphicsLayoutItem.
setMinimumSize
(
size
)
¶
size
–
QSizeF
Sets the minimum size to
size
. This property overrides
sizeHint()
for
MinimumSize
and ensures that
effectiveSizeHint()
will never return a size smaller than
size
. In order to unset the minimum size, use an invalid size.
另请参阅
minimumSize()
maximumSize()
preferredSize()
MinimumSize
sizeHint()
setMinimumWidth()
setMinimumHeight()
PySide2.QtWidgets.QGraphicsLayoutItem.
setMinimumSize
(
w
,
h
)
¶
w
–
qreal
h
–
qreal
This convenience function is equivalent to calling
setMinimumSize
(
QSizeF
(
w
,
h
)).
PySide2.QtWidgets.QGraphicsLayoutItem.
setMinimumWidth
(
width
)
¶
width
–
qreal
Sets the minimum width to
width
.
PySide2.QtWidgets.QGraphicsLayoutItem.
setOwnedByLayout
(
ownedByLayout
)
¶
ownedByLayout
–
bool
Sets whether a layout should delete this item in its destructor or not.
ownership
must be true to in order for the layout to delete it.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
setParentLayoutItem
(
parent
)
¶
parent
–
QGraphicsLayoutItem
Sets the parent of this
QGraphicsLayoutItem
to
parent
.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
setPreferredHeight
(
height
)
¶
height
–
qreal
Sets the preferred height to
height
.
PySide2.QtWidgets.QGraphicsLayoutItem.
setPreferredSize
(
size
)
¶
size
–
QSizeF
Sets the preferred size to
size
. This property overrides
sizeHint()
for
PreferredSize
and provides the default value for
effectiveSizeHint()
. In order to unset the preferred size, use an invalid size.
另请参阅
preferredSize()
minimumSize()
maximumSize()
PreferredSize
sizeHint()
PySide2.QtWidgets.QGraphicsLayoutItem.
setPreferredSize
(
w
,
h
)
¶
w
–
qreal
h
–
qreal
This convenience function is equivalent to calling
setPreferredSize
(
QSizeF
(
w
,
h
)).
PySide2.QtWidgets.QGraphicsLayoutItem.
setPreferredWidth
(
width
)
¶
width
–
qreal
Sets the preferred width to
width
.
PySide2.QtWidgets.QGraphicsLayoutItem.
setSizePolicy
(
hPolicy
,
vPolicy
[
,
controlType=QSizePolicy.DefaultType
]
)
¶
hPolicy
–
Policy
vPolicy
–
Policy
controlType
–
ControlType
这是重载函数。
此函数相当于调用
setSizePolicy
(
QSizePolicy
(
hPolicy
,
vPolicy
,
controlType
)).
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
setSizePolicy
(
policy
)
¶
policy
–
QSizePolicy
Sets the size policy to
policy
. The size policy describes how the item should grow horizontally and vertically when arranged in a layout.
QGraphicsLayoutItem
‘s default size policy is (
Fixed
,
Fixed
,
DefaultType
), but it is common for subclasses to change the default. For example,
QGraphicsWidget
defaults to (
Preferred
,
Preferred
,
DefaultType
).
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
sizeHint
(
which
[
,
constraint=QSizeF()
]
)
¶
which
–
SizeHint
constraint
–
QSizeF
QSizeF
This pure virtual function returns the size hint for
which
的
QGraphicsLayoutItem
, using the width or height of
constraint
to constrain the output.
Reimplement this function in a subclass of
QGraphicsLayoutItem
to provide the necessary size hints for your items.
另请参阅
PySide2.QtWidgets.QGraphicsLayoutItem.
sizePolicy
(
)
¶
Returns the current size policy.
PySide2.QtWidgets.QGraphicsLayoutItem.
updateGeometry
(
)
¶
This virtual function discards any cached size hint information. You should always call this function if you change the return value of the
sizeHint()
function. Subclasses must always call the base implementation when reimplementing this function.
另请参阅