QtBase
v6.3.1
|
The QGraphicsWidget class is the base class for all widget items in a QGraphicsScene. More...
#include <qgraphicswidget.h>
Public Slots | |
bool | close () |
Public Slots inherited from QObject | |
void | deleteLater () |
Signals | |
void | geometryChanged () |
void | layoutChanged () |
Signals inherited from QGraphicsObject | |
void | parentChanged () |
void | opacityChanged () |
void | visibleChanged () |
void | enabledChanged () |
void | xChanged () |
void | yChanged () |
void | zChanged () |
void | rotationChanged () |
void | scaleChanged () |
void | childrenChanged () |
void | widthChanged () |
void | heightChanged () |
Signals inherited from QObject | |
void | destroyed (QObject *=nullptr) |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
Properties | |
QPalette | palette |
the widget's palette More... | |
QFont | font |
the widgets' font More... | |
Qt::LayoutDirection | layoutDirection |
the layout direction for this widget. More... | |
QSizeF | size |
the size of the widget More... | |
QSizeF | minimumSize |
the minimum size of the widget More... | |
QSizeF | preferredSize |
the preferred size of the widget More... | |
QSizeF | maximumSize |
the maximum size of the widget More... | |
QSizePolicy | sizePolicy |
the size policy for the widget More... | |
Qt::FocusPolicy | focusPolicy |
the way the widget accepts keyboard focus More... | |
Qt::WindowFlags | windowFlags |
the widget's window flags More... | |
QString | windowTitle |
This property holds the window title (caption). More... | |
QRectF | geometry |
the geometry of the widget More... | |
bool | autoFillBackground |
whether the widget background is filled automatically More... | |
QGraphicsLayout * | layout |
The layout of the widget. More... | |
Properties inherited from QGraphicsObject | |
QGraphicsObject * | parent |
the parent of the item More... | |
qreal | opacity |
the opacity of the item More... | |
bool | enabled |
whether the item is enabled or not More... | |
bool | visible |
whether the item is visible or not More... | |
QPointF | pos |
the position of the item More... | |
qreal | x |
the x position of the item More... | |
qreal | y |
the y position of the item More... | |
qreal | z |
the z value of the item More... | |
qreal | rotation |
the rotation of the item in degrees. More... | |
qreal | scale |
the scale of the item. More... | |
QPointF | transformOriginPoint |
the transformation origin More... | |
Properties inherited from QObject | |
QString | objectName |
the name of this object More... | |
Friends | |
class | QGraphicsScene |
class | QGraphicsScenePrivate |
class | QGraphicsView |
class | QGraphicsItem |
class | QGraphicsItemPrivate |
class | QGraphicsLayout |
class | QWidget |
class | QApplication |
Additional Inherited Members | |
Protected Types inherited from QGraphicsItem | |
enum | Extension { UserExtension = 0x80000000 } |
Protected Slots inherited from QGraphicsObject | |
void | updateMicroFocus () |
Protected Attributes inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Protected Attributes inherited from QGraphicsItem | |
QScopedPointer< QGraphicsItemPrivate > | d_ptr |
Protected Attributes inherited from QGraphicsLayoutItem | |
QScopedPointer< QGraphicsLayoutItemPrivate > | d_ptr |
Related Functions inherited from QObject | |
template< class T > T | qobject_cast (const QObject *object) |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
Related Functions inherited from QGraphicsItem | |
T | qgraphicsitem_cast (QGraphicsItem *item) |
The QGraphicsWidget class is the base class for all widget items in a QGraphicsScene.
\inmodule QtWidgets
QGraphicsWidget is an extended base item that provides extra functionality over QGraphicsItem. It is similar to QWidget in many ways:
\list
Unlike QGraphicsItem, QGraphicsWidget is not an abstract class; you can create instances of a QGraphicsWidget without having to subclass it. This approach is useful for widgets that only serve the purpose of organizing child widgets into a layout.
QGraphicsWidget can be used as a base item for your own custom item if you require advanced input focus handling, e.g., tab focus and activation, or layouts.
Since QGraphicsWidget resembles QWidget and has similar API, it is easier to port a widget from QWidget to QGraphicsWidget, instead of QGraphicsItem.
Noticeable differences between QGraphicsWidget and QWidget are:
\table \header
QGraphicsWidget supports a subset of Qt's widget attributes, (Qt::WidgetAttribute), as shown in the table below. Any attributes not listed in this table are unsupported, or otherwise unused.
\table \header
Although QGraphicsWidget inherits from both QObject and QGraphicsItem, you should use the functions provided by QGraphicsItem, not QObject, to manage the relationships between parent and child items. These functions control the stacking order of items as well as their ownership.
Definition at line 67 of file qgraphicswidget.h.
anonymous enum |
Enumerator | |
---|---|
Type |
Definition at line 162 of file qgraphicswidget.h.
QGraphicsWidget::QGraphicsWidget | ( | QGraphicsItem * | parent = nullptr , |
Qt::WindowFlags | wFlags = Qt::WindowFlags() |
||
) |
Constructs a QGraphicsWidget instance. The optional parent argument is passed to QGraphicsItem's constructor. The optional wFlags argument specifies the widget's window flags (e.g., whether the widget should be a window, a tool, a popup, etc).
Definition at line 176 of file qgraphicswidget.cpp.
QGraphicsWidget::~QGraphicsWidget | ( | ) |
Destroys the QGraphicsWidget instance.
Definition at line 231 of file qgraphicswidget.cpp.
|
protected |
Definition at line 188 of file qgraphicswidget.cpp.
Returns the (possibly empty) list of this widget's actions.
Definition at line 2097 of file qgraphicswidget.cpp.
Appends the action action to this widget's list of actions.
All QGraphicsWidgets have a list of \l{QAction}s, however they can be represented graphically in many different ways. The default use of the QAction list (as returned by actions()) is to create a context QMenu.
A QGraphicsWidget should only have one of each action and adding an action it already has will not cause the same action to be in the widget twice.
Definition at line 1991 of file qgraphicswidget.cpp.
Appends the actions actions to this widget's list of actions.
Definition at line 2003 of file qgraphicswidget.cpp.
void QGraphicsWidget::adjustSize | ( | ) |
Adjusts the size of the widget to its effective preferred size hint.
This function is called implicitly when the item is shown for the first time.
Definition at line 858 of file qgraphicswidget.cpp.
bool QGraphicsWidget::autoFillBackground | ( | ) | const |
Definition at line 1043 of file qgraphicswidget.cpp.
|
overridevirtual |
\reimp
Implements QGraphicsItem.
Reimplemented in TopBar.
Definition at line 2349 of file qgraphicswidget.cpp.
This event handler can be reimplemented to handle state changes.
The state being changed in this event can be retrieved through event.
Change events include: QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::ParentChange, QEvent::LayoutDirectionChange, and QEvent::ContentsRectChange.
Reimplemented in TestWidget, Widget, and Widget.
Definition at line 1484 of file qgraphicswidget.cpp.
|
inline |
Returns a list of child objects. The QObjectList class is defined in the {<QObject>} header file as the following:
\quotefromfile kernel/qobject.h \skipto /typedef .*QObjectList/ \printuntil QObjectList
The first child added is the \l{QList::first()}{first} object in the list and the last child added is the \l{QList::last()}{last} object in the list, i.e. new children are appended at the end.
Note that the list order changes when QWidget children are \l{QWidget::raise()}{raised} or \l{QWidget::lower()}{lowered}. A widget that is raised becomes the last object in the list, and a widget that is lowered becomes the first object in the list.
Definition at line 206 of file qobject.h.
|
slot |
Call this function to close the widget.
Returns true
if the widget was closed; otherwise returns false
. This slot will first send a QCloseEvent to the widget, which may or may not accept the event. If the event was ignored, nothing happens. If the event was accepted, it will hide() the widget.
If the widget has the Qt::WA_DeleteOnClose attribute set it will be deleted.
Definition at line 2375 of file qgraphicswidget.cpp.
|
protectedvirtual |
This event handler, for event, can be reimplemented in a subclass to receive widget close events. The default implementation accepts the event.
Reimplemented in Window, and Widget.
Definition at line 1517 of file qgraphicswidget.cpp.
|
overrideprotectedvirtual |
\reimp
Handles the event. QGraphicsWidget handles the following events:
\table \header
Reimplemented from QGraphicsObject.
Reimplemented in Window, TestWidget, SubQGraphicsWidget, ReuseCanceledGesturesWidget, Window, Window, Widget, FocusWidget, TestGraphicsWidget, SlowWidget, AbstractViewItem, AbstractScrollArea, AbstractItemView, AbstractItemContainer, Window, Window, and Window.
Definition at line 1383 of file qgraphicswidget.cpp.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QGraphicsItem.
Reimplemented in FocusWatchWidget, FocusWidget, and FocusWidget.
Definition at line 1525 of file qgraphicswidget.cpp.
|
protectedvirtual |
Finds a new widget to give the keyboard focus to, as appropriate for Tab and Shift+Tab, and returns true
if it can find a new widget; returns false
otherwise. If next is true, this function searches forward; if next is false, it searches backward.
Sometimes, you will want to reimplement this function to provide special focus handling for your widget and its subwidgets. For example, a web browser might reimplement it to move its current active link forward or backward, and call the base implementation only when it reaches the last or first link on the page.
Child widgets call focusNextPrevChild() on their parent widgets, but only the window that contains the child widgets decides where to redirect focus. By reimplementing this function for an object, you gain control of focus traversal for all child widgets.
Reimplemented in QGraphicsProxyWidget.
Definition at line 1551 of file qgraphicswidget.cpp.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QGraphicsItem.
Reimplemented in FocusWatchWidget, SubQGraphicsProxyWidget, FocusWidget, Widget, and FocusWidget.
Definition at line 1573 of file qgraphicswidget.cpp.
Qt::FocusPolicy QGraphicsWidget::focusPolicy | ( | ) | const |
Definition at line 1847 of file qgraphicswidget.cpp.
QGraphicsWidget * QGraphicsWidget::focusWidget | ( | ) | const |
If this widget, a child or descendant of this widget currently has input focus, this function will return a pointer to that widget. If no descendant widget has input focus, \nullptr is returned.
Definition at line 1870 of file qgraphicswidget.cpp.
QFont QGraphicsWidget::font | ( | ) | const |
|
signal |
This signal gets emitted whenever the geometry is changed in setGeometry().
|
overridevirtual |
Gets the widget's contents margins. The margins are stored in left, top, right and bottom, as pointers to qreals. Each argument can be {omitted} by passing \nullptr.
Reimplemented from QGraphicsLayoutItem.
Definition at line 526 of file qgraphicswidget.cpp.
void QGraphicsWidget::getWindowFrameMargins | ( | qreal * | left, |
qreal * | top, | ||
qreal * | right, | ||
qreal * | bottom | ||
) | const |
Gets the widget's window frame margins. The margins are stored in left, top, right and bottom as pointers to qreals. Each argument can be {omitted} by passing \nullptr.
Definition at line 585 of file qgraphicswidget.cpp.
This event handler, for event, can be reimplemented in a subclass to receive notifications for QEvent::GrabKeyboard events.
Definition at line 1714 of file qgraphicswidget.cpp.
This event handler, for event, can be reimplemented in a subclass to receive notifications for QEvent::GrabMouse events.
Reimplemented in QGraphicsProxyWidget.
Definition at line 1692 of file qgraphicswidget.cpp.
int QGraphicsWidget::grabShortcut | ( | const QKeySequence & | sequence, |
Qt::ShortcutContext | context = Qt::WindowShortcut |
||
) |
Adds a shortcut to Qt's shortcut system that watches for the given key sequence in the given context. If the context is Qt::ApplicationShortcut, the shortcut applies to the application as a whole. Otherwise, it is either local to this widget, Qt::WidgetShortcut, or to the window itself, Qt::WindowShortcut. For widgets that are not part of a window (i.e., top-level widgets and their children), Qt::WindowShortcut shortcuts apply to the scene.
If the same key sequence has been grabbed by several widgets, when the key sequence occurs a QEvent::Shortcut event is sent to all the widgets to which it applies in a non-deterministic order, but with the `‘ambiguous’' flag set to true.
Definition at line 1906 of file qgraphicswidget.cpp.
|
protectedvirtual |
This event handler, for \l{QEvent::Hide}{Hide} events, is delivered after the widget has been hidden, for example, setVisible(false) has been called for the widget or one of its ancestors when the widget was previously shown.
You can reimplement this event handler to detect when your widget is hidden. Calling QEvent::accept() or QEvent::ignore() on event has no effect.
Reimplemented in QGraphicsProxyWidget, and Widget.
Definition at line 1592 of file qgraphicswidget.cpp.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QGraphicsItem.
Reimplemented in QGraphicsProxyWidget, and CustomProxy.
Definition at line 1681 of file qgraphicswidget.cpp.
|
overrideprotectedvirtual |
\reimp
Reimplemented from QGraphicsItem.
Reimplemented in QGraphicsProxyWidget.
Definition at line 1673 of file qgraphicswidget.cpp.
|
protectedvirtual |
Populates a style option object for this widget based on its current state, and stores the output in option. The default implementation populates option with the following properties.
\table \header
Subclasses of QGraphicsWidget should call the base implementation, and then test the type of option using qstyleoption_cast<>() or test QStyleOption::Type before storing widget-specific options.
For example:
Reimplemented in SubQGraphicsWidget.
Definition at line 693 of file qgraphicswidget.cpp.
Inserts the action action to this widget's list of actions, before the action before. It appends the action if before is \nullptr or before is not a valid action for this widget.
A QGraphicsWidget should only have one of each action.
Definition at line 2021 of file qgraphicswidget.cpp.
Inserts the actions actions to this widget's list of actions, before the action before. It appends the action if before is \nullptr or before is not a valid action for this widget.
A QGraphicsWidget can have at most one of each action.
Definition at line 2060 of file qgraphicswidget.cpp.
bool QGraphicsWidget::isActiveWindow | ( | ) | const |
Returns true
if this widget's window is in the active window, or if the widget does not have a window but is in an active scene (i.e., a scene that currently has focus).
The active window is the window that either contains a child widget that currently has input focus, or that itself has input focus.
Definition at line 1801 of file qgraphicswidget.cpp.
|
overrideprotectedvirtual |
\reimp
QGraphicsWidget uses the base implementation of this function to catch and deliver events related to state changes in the item. Because of this, it is very important that subclasses call the base implementation.
change specifies the type of change, and value is the new value.
For example, QGraphicsWidget uses ItemVisibleChange to deliver \l{QEvent::Show} {Show} and \l{QEvent::Hide}{Hide} events, ItemPositionHasChanged to deliver \l{QEvent::Move}{Move} events, and ItemParentChange both to deliver \l{QEvent::ParentChange} {ParentChange} events, and for managing the focus chain.
QGraphicsWidget enables the ItemSendsGeometryChanges flag by default in order to track position changes.
Reimplemented from QGraphicsItem.
Reimplemented in ItemChangeTester, MyGraphicsItemWithItemChange, ItemChangeTester, and AbstractItemContainer.
Definition at line 1120 of file qgraphicswidget.cpp.
QGraphicsLayout * QGraphicsWidget::layout | ( | ) | const |
Returns this widget's layout, or \nullptr if no layout is currently managing this widget.
Definition at line 800 of file qgraphicswidget.cpp.
|
signal |
This signal gets emitted whenever the layout of the item changes
Qt::LayoutDirection QGraphicsWidget::layoutDirection | ( | ) | const |
|
protectedvirtual |
This event handler, for \l{QEvent::GraphicsSceneMove}{GraphicsSceneMove} events, is delivered after the widget has moved (e.g., its local position has changed).
This event is only delivered when the item is moved locally. Calling setTransform() or moving any of the item's ancestors does not affect the item's local position.
You can reimplement this event handler to detect when your widget has moved. Calling QEvent::accept() or QEvent::ignore() on event has no effect.
Definition at line 1614 of file qgraphicswidget.cpp.
|
overridevirtual |
\reimp
Implements QGraphicsItem.
Reimplemented in SubQGraphicsProxyWidget, TopBar, BackgroundItem, RectWidget, RectWidget, HFWWidget, MessUpPainterWidget, SubQGraphicsWidget, MyProxyWidget, RectWidget, MyProxyWidget, RectWidget, RectWidget, MyGraphicsItem, TestProxy, SlowWidget, ListItem, CustomGraphicsWidget, FocusWidget, MyGraphicsItem, PolishWidget, RectWidget, RectWidget, and MyRectItem.
Definition at line 2233 of file qgraphicswidget.cpp.
|
virtual |
This virtual function is called by QGraphicsScene to draw the window frame for windows using painter, option, and widget, in local coordinates. The base implementation uses the current style to render the frame and title bar.
You can reimplement this function in a subclass of QGraphicsWidget to provide custom rendering of the widget's window frame.
Reimplemented in MessUpPainterWidget, and CustomProxy.
Definition at line 2251 of file qgraphicswidget.cpp.
QPalette QGraphicsWidget::palette | ( | ) | const |
Definition at line 1012 of file qgraphicswidget.cpp.
|
protectedvirtual |
This event is delivered to the item by the scene at some point after it has been constructed, but before it is shown or otherwise accessed through the scene. You can use this event handler to do last-minute initializations of the widget which require the item to be fully constructed.
The base implementation does nothing.
Reimplemented in PolishWidget.
Definition at line 1628 of file qgraphicswidget.cpp.
|
protectedvirtual |
Definition at line 1212 of file qgraphicswidget.cpp.
|
inline |
Returns the item's local rect as a QRectF. This function is equivalent to QRectF(QPointF(), size()).
Definition at line 115 of file qgraphicswidget.h.
void QGraphicsWidget::releaseShortcut | ( | int | id | ) |
Removes the shortcut with the given id from Qt's shortcut system. The widget will no longer receive QEvent::Shortcut events for the shortcut's key sequence (unless it has other shortcuts with the same key sequence).
Definition at line 1932 of file qgraphicswidget.cpp.
Removes the action action from this widget's list of actions.
Definition at line 2073 of file qgraphicswidget.cpp.
Definition at line 312 of file qgraphicswidget.cpp.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Constructs a resize with the given width
(w) and height
(h). This convenience function is equivalent to calling resize(QSizeF(w, h)).
Definition at line 110 of file qgraphicswidget.h.
|
protectedvirtual |
This event handler, for \l{QEvent::GraphicsSceneResize}{GraphicsSceneResize} events, is delivered after the widget has been resized (i.e., its local size has changed). event contains both the old and the new size.
This event is only delivered when the widget is resized locally; calling setTransform() on the widget or any of its ancestors or view, does not affect the widget's local size.
You can reimplement this event handler to detect when your widget has been resized. Calling QEvent::accept() or QEvent::ignore() on event has no effect.
Reimplemented in QGraphicsProxyWidget, PlaceWidget, TopBar, SimpleListView, RecycledListItem, ListWidget, and BackgroundItem.
Definition at line 1648 of file qgraphicswidget.cpp.
|
overrideprotectedvirtual |
QGraphicsWidget's implementation of sceneEvent() simply passes event to QGraphicsWidget::event(). You can handle all events for your widget in event() or in any of the convenience functions; you should not have to reimplement this function in a subclass of QGraphicsWidget.
Returns true
if event has been recognized and processed; otherwise, returns false
.
Reimplemented from QGraphicsItem.
Reimplemented in FocusWidget.
Definition at line 1229 of file qgraphicswidget.cpp.
void QGraphicsWidget::setAttribute | ( | Qt::WidgetAttribute | attribute, |
bool | on = true |
||
) |
If on is true, this function enables attribute; otherwise attribute is disabled.
See the class documentation for QGraphicsWidget for a complete list of which attributes are supported, and what they are for.
Definition at line 2193 of file qgraphicswidget.cpp.
void QGraphicsWidget::setAutoFillBackground | ( | bool | enabled | ) |
Sets the widget's contents margins to margins.
Contents margins are used by the assigned layout to define the placement of subwidgets and layouts. Margins are particularly useful for widgets that constrain subwidgets to only a section of its own geometry. For example, a group box with a layout will place subwidgets inside its frame, but below the title.
Changing a widget's contents margins will always trigger an update(), and any assigned layout will be activated automatically. The widget will then receive a \l{QEvent::ContentsRectChange}{ContentsRectChange} event.
Definition at line 487 of file qgraphicswidget.cpp.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
Sets the widget's contents margins to left, top, right and bottom.
Definition at line 514 of file qgraphicswidget.cpp.
void QGraphicsWidget::setFocusPolicy | ( | Qt::FocusPolicy | policy | ) |
Definition at line 1852 of file qgraphicswidget.cpp.
Definition at line 977 of file qgraphicswidget.cpp.
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.
If 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.
Reimplemented from QGraphicsLayoutItem.
Reimplemented in RectWidget, TestGraphicsWidget, and SlowWidget.
Definition at line 353 of file qgraphicswidget.cpp.
This convenience function is equivalent to calling setGeometry(QRectF( x, y, w, h)).
Definition at line 239 of file qgraphicswidget.h.
void QGraphicsWidget::setLayout | ( | QGraphicsLayout * | layout | ) |
Sets the layout for this widget to layout. Any existing layout manager is deleted before the new layout is assigned. If layout is \nullptr, the widget is left without a layout. Existing subwidgets' geometries will remain unaffected.
All widgets that are currently managed by layout or all of its sublayouts, are automatically reparented to this item. The layout is then invalidated, and the child widget geometries are adjusted according to this item's geometry() and contentsMargins(). Children who are not explicitly managed by layout remain unaffected by the layout after it has been assigned to this widget.
QGraphicsWidget takes ownership of layout.
Definition at line 825 of file qgraphicswidget.cpp.
void QGraphicsWidget::setLayoutDirection | ( | Qt::LayoutDirection | direction | ) |
If enabled is true, auto repeat of the shortcut with the given id is enabled; otherwise it is disabled.
Definition at line 1968 of file qgraphicswidget.cpp.
If enabled is true, the shortcut with the given id is enabled; otherwise the shortcut is disabled.
Definition at line 1953 of file qgraphicswidget.cpp.
Sets the widget's style to style. QGraphicsWidget does not take ownership of style.
If no style is assigned, or style is \nullptr, the widget will use QGraphicsScene::style() (if this has been set). Otherwise the widget will use QApplication::style().
This function sets the Qt::WA_SetStyle attribute if style is not \nullptr; otherwise it clears the attribute.
Definition at line 938 of file qgraphicswidget.cpp.
|
static |
Moves the second widget around the ring of focus widgets so that keyboard focus moves from the first widget to the second widget when the Tab key is pressed.
Note that since the tab order of the second widget is changed, you should order a chain like this:
not like this:
If first is \nullptr, this indicates that second should be the first widget to receive input focus should the scene gain Tab focus (i.e., the user hits Tab so that focus passes into the scene). If second is \nullptr, this indicates that first should be the first widget to gain focus if the scene gained BackTab focus.
By default, tab order is defined implicitly using widget creation order.
Definition at line 2128 of file qgraphicswidget.cpp.
void QGraphicsWidget::setWindowFlags | ( | Qt::WindowFlags | wFlags | ) |
If you would like to draw your own window decoration, you can set your own frame margins to override the default margins.
Definition at line 552 of file qgraphicswidget.cpp.
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Sets the widget's window frame margins to left, top, right and bottom.
Definition at line 573 of file qgraphicswidget.cpp.
|
overridevirtual |
\reimp
Reimplemented from QGraphicsItem.
Definition at line 2357 of file qgraphicswidget.cpp.
|
protectedvirtual |
This event handler, for \l{QEvent::Show}{Show} events, is delivered before the widget has been shown, for example, setVisible(true) has been called for the widget or one of its ancestors when the widget was previously hidden.
You can reimplement this event handler to detect when your widget is shown. Calling QEvent::accept() or QEvent::ignore() on event has no effect.
Reimplemented in QGraphicsProxyWidget.
Definition at line 1665 of file qgraphicswidget.cpp.
QSizeF QGraphicsWidget::size | ( | ) | const |
|
overrideprotectedvirtual |
\reimp
Implements QGraphicsLayoutItem.
Reimplemented in MySquareWidget, HFWWidget, SizeHinter, RectWidget, CustomGraphicsWidget, RectWidget, TestWidget, and SimpleListView.
Definition at line 736 of file qgraphicswidget.cpp.
QStyle * QGraphicsWidget::style | ( | ) | const |
Returns a pointer to the widget's style. If this widget does not have any explicitly assigned style, the scene's style is returned instead. In turn, if the scene does not have any assigned style, this function returns QApplication::style().
Definition at line 917 of file qgraphicswidget.cpp.
bool QGraphicsWidget::testAttribute | ( | Qt::WidgetAttribute | attribute | ) | const |
Returns true
if attribute is enabled for this widget; otherwise, returns false
.
Definition at line 2208 of file qgraphicswidget.cpp.
|
overridevirtual |
This event handler, for event, can be reimplemented in a subclass to receive notifications for QEvent::UngrabKeyboard events.
Definition at line 1725 of file qgraphicswidget.cpp.
This event handler, for event, can be reimplemented in a subclass to receive notifications for QEvent::UngrabMouse events.
Reimplemented in QGraphicsProxyWidget.
Definition at line 1703 of file qgraphicswidget.cpp.
void QGraphicsWidget::unsetLayoutDirection | ( | ) |
void QGraphicsWidget::unsetWindowFrameMargins | ( | ) |
Resets the window frame margins to the default value, provided by the style.
Definition at line 605 of file qgraphicswidget.cpp.
|
overrideprotectedvirtual |
If this widget is currently managed by a layout, this function notifies the layout that the widget's size hints have changed and the layout may need to resize and reposition the widget accordingly.
Call this function if the widget's sizeHint() has changed.
If this is the topmost widget, post a LayoutRequest event to the widget. When the event is received, it will start flowing all the way down to the leaf widgets in one go. This will make a relayout flicker-free.
Reimplemented from QGraphicsLayoutItem.
Definition at line 1066 of file qgraphicswidget.cpp.
Qt::WindowFlags QGraphicsWidget::windowFlags | ( | ) | const |
Definition at line 1757 of file qgraphicswidget.cpp.
|
protectedvirtual |
This event handler, for event, receives events for the window frame if this widget is a window. Its base implementation provides support for default window frame interaction such as moving, resizing, etc.
You can reimplement this handler in a subclass of QGraphicsWidget to provide your own custom window frame interaction support.
Returns true
if event has been recognized and processed; otherwise, returns false
.
Definition at line 1247 of file qgraphicswidget.cpp.
QRectF QGraphicsWidget::windowFrameGeometry | ( | ) | const |
Returns the widget's geometry in parent coordinates including any window frame.
Definition at line 628 of file qgraphicswidget.cpp.
QRectF QGraphicsWidget::windowFrameRect | ( | ) | const |
Returns the widget's local rect including any window frame.
Definition at line 642 of file qgraphicswidget.cpp.
|
protectedvirtual |
Returns the window frame section at position pos, or Qt::NoSection if there is no window frame section at this position.
This function is used in QGraphicsWidget's base implementation for window frame interaction.
You can reimplement this function if you want to customize how a window can be interactively moved or resized. For instance, if you only want to allow a window to be resized by the bottom right corner, you can reimplement this function to return Qt::NoSection for all sections except Qt::BottomRightSection.
Definition at line 1294 of file qgraphicswidget.cpp.
QString QGraphicsWidget::windowTitle | ( | ) | const |
Definition at line 1821 of file qgraphicswidget.cpp.
Qt::WindowType QGraphicsWidget::windowType | ( | ) | const |
Returns the widgets window type.
Definition at line 1735 of file qgraphicswidget.cpp.
|
friend |
Definition at line 236 of file qgraphicswidget.h.
|
friend |
Definition at line 232 of file qgraphicswidget.h.
|
friend |
Definition at line 233 of file qgraphicswidget.h.
|
friend |
Definition at line 234 of file qgraphicswidget.h.
|
friend |
Definition at line 229 of file qgraphicswidget.h.
|
friend |
Definition at line 230 of file qgraphicswidget.h.
|
friend |
Definition at line 231 of file qgraphicswidget.h.
|
friend |
Definition at line 235 of file qgraphicswidget.h.
|
readwrite |
whether the widget background is filled automatically
If enabled, this property will cause Qt to fill the background of the widget before invoking the paint() method. The color used is defined by the QPalette::Window color role from the widget's \l{QPalette}{palette}.
In addition, Windows are always filled with QPalette::Window, unless the WA_OpaquePaintEvent or WA_NoSystemBackground attributes are set.
By default, this property is false
.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the way the widget accepts keyboard focus
The focus policy is Qt::TabFocus if the widget accepts keyboard focus by tabbing, Qt::ClickFocus if the widget accepts focus by clicking, Qt::StrongFocus if it accepts both, and Qt::NoFocus (the default) if it does not accept focus at all.
You must enable keyboard focus for a widget if it processes keyboard events. This is normally done from the widget's constructor. For instance, the QLineEdit constructor calls setFocusPolicy(Qt::StrongFocus).
If you enable a focus policy (i.e., not Qt::NoFocus), QGraphicsWidget will automatically enable the ItemIsFocusable flag. Setting Qt::NoFocus on a widget will clear the ItemIsFocusable flag. If the widget currently has keyboard focus, the widget will automatically lose focus.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the widgets' font
This property provides the widget's font.
QFont consists of font properties that have been explicitly defined and properties implicitly inherited from the widget's parent. Hence, font() can return a different font compared to the one set with setFont(). This scheme allows you to define single entries in a font without affecting the font's inherited entries.
When a widget's font changes, it resolves its entries against its parent widget. If the widget does not have a parent widget, it resolves its entries against the scene. The widget then sends itself a \l{QEvent::FontChange}{FontChange} event and notifies all its descendants so that they can resolve their fonts as well.
By default, this property contains the application's default font.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the geometry of the widget
Sets the item's geometry to rect. The item's position and size are modified as a result of calling this function. The item is first moved, then resized.
A side effect of calling this function is that the widget will receive a move event and a resize event. Also, if the widget has a layout assigned, the layout will activate.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
The layout of the widget.
Any existing layout manager is deleted before the new layout is assigned. If layout is \nullptr, the widget is left without a layout. Existing subwidgets' geometries will remain unaffected.
QGraphicsWidget takes ownership of layout.
All widgets that are currently managed by layout or all of its sublayouts, are automatically reparented to this item. The layout is then invalidated, and the child widget geometries are adjusted according to this item's geometry() and contentsMargins(). Children who are not explicitly managed by layout remain unaffected by the layout after it has been assigned to this widget.
If no layout is currently managing this widget, layout() will return \nullptr.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the layout direction for this widget.
This property modifies this widget's and all of its descendants' Qt::WA_RightToLeft attribute. It also sets this widget's Qt::WA_SetLayoutDirection attribute.
The widget's layout direction determines the order in which the layout manager horizontally arranges subwidgets of this widget. The default value depends on the language and locale of the application, and is typically in the same direction as words are read and written. With Qt::LeftToRight, the layout starts placing subwidgets from the left side of this widget towards the right. Qt::RightToLeft does the opposite - the layout will place widgets starting from the right edge moving towards the left.
Subwidgets inherit their layout direction from the parent. Top-level widget items inherit their layout direction from QGraphicsScene::layoutDirection. If you change a widget's layout direction by calling setLayoutDirection(), the widget will send itself a \l{QEvent::LayoutDirectionChange}{LayoutDirectionChange} event, and then propagate the new layout direction to all its descendants.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the maximum size of the widget
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the minimum size of the widget
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the widget's palette
This property provides the widget's palette. The palette provides colors and brushes for color groups (e.g., QPalette::Button) and states (e.g., QPalette::Inactive), loosely defining the general look of the widget and its children.
QPalette consists of color groups that have been explicitly defined, and groups that are implicitly inherited from the widget's parent. Because of this, palette() can return a different palette than what has been set with setPalette(). This scheme allows you to define single entries in a palette without affecting the palette's inherited entries.
When a widget's palette changes, it resolves its entries against its parent widget, or if it doesn't have a parent widget, it resolves against the scene. It then sends itself a \l{QEvent::PaletteChange}{PaletteChange} event, and notifies all its descendants so they can resolve their palettes as well.
By default, this property contains the application's default palette.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the preferred size of the widget
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the size of the widget
Calling resize() resizes the widget to a size bounded by minimumSize() and maximumSize(). This property only affects the widget's width and height (e.g., its right and bottom edges); the widget's position and top-left corner remains unaffected.
Resizing a widget triggers the widget to immediately receive a \l{QEvent::GraphicsSceneResize}{GraphicsSceneResize} event with the widget's old and new size. If the widget has a layout assigned when this event arrives, the layout will be activated and it will automatically update any child widgets's geometry.
This property does not affect any layout of the parent widget. If the widget itself is managed by a parent layout; e.g., it has a parent widget with a layout assigned, that layout will not activate.
By default, this property contains a size with zero width and height.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the size policy for the widget
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
the widget's window flags
Window flags are a combination of a window type (e.g., Qt::Dialog) and several flags giving hints on the behavior of the window. The behavior is platform-dependent.
By default, this property contains no window flags.
Windows are panels. If you set the Qt::Window flag, the ItemIsPanel flag will be set automatically. If you clear the Qt::Window flag, the ItemIsPanel flag is also cleared. Note that the ItemIsPanel flag can be set independently of Qt::Window.
Definition at line 242 of file qgraphicswidget.h.
|
readwrite |
This property holds the window title (caption).
This property is only used for windows.
By default, if no title has been set, this property contains an empty string.
Definition at line 242 of file qgraphicswidget.h.