QGraphicsWidget Class
Die Klasse QGraphicsWidget ist die Basisklasse für alle Widget-Elemente in einem QGraphicsScene. Mehr...
Kopfzeile: | #include <QGraphicsWidget> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Widgets) target_link_libraries(mytarget PRIVATE Qt6::Widgets) |
qmake: | QT += widgets |
Erbt: | QGraphicsObject und QGraphicsLayoutItem |
Vererbt von: |
Öffentliche Typen
enum | anonymous { Type } |
Eigenschaften
|
|
Öffentliche Funktionen
QGraphicsWidget(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags()) | |
virtual | ~QGraphicsWidget() |
QList<QAction *> | actions() const |
void | addAction(QAction *action) |
void | addActions(const QList<QAction *> &actions) |
void | adjustSize() |
bool | autoFillBackground() const |
Qt::FocusPolicy | focusPolicy() const |
QGraphicsWidget * | focusWidget() const |
QFont | font() const |
void | getWindowFrameMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const |
int | grabShortcut(const QKeySequence &sequence, Qt::ShortcutContext context = Qt::WindowShortcut) |
void | insertAction(QAction *before, QAction *action) |
void | insertActions(QAction *before, const QList<QAction *> &actions) |
bool | isActiveWindow() const |
QGraphicsLayout * | layout() const |
Qt::LayoutDirection | layoutDirection() const |
virtual void | paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) |
QPalette | palette() const |
QRectF | rect() const |
void | releaseShortcut(int id) |
void | removeAction(QAction *action) |
void | resize(const QSizeF &size) |
void | resize(qreal w, qreal h) |
void | setAttribute(Qt::WidgetAttribute attribute, bool on = true) |
void | setAutoFillBackground(bool enabled) |
void | setContentsMargins(QMarginsF margins) |
void | setContentsMargins(qreal left, qreal top, qreal right, qreal bottom) |
void | setFocusPolicy(Qt::FocusPolicy policy) |
void | setFont(const QFont &font) |
void | setGeometry(qreal x, qreal y, qreal w, qreal h) |
void | setLayout(QGraphicsLayout *layout) |
void | setLayoutDirection(Qt::LayoutDirection direction) |
void | setPalette(const QPalette &palette) |
void | setShortcutAutoRepeat(int id, bool enabled = true) |
void | setShortcutEnabled(int id, bool enabled = true) |
void | setStyle(QStyle *style) |
void | setWindowFlags(Qt::WindowFlags wFlags) |
void | setWindowFrameMargins(QMarginsF margins) |
void | setWindowFrameMargins(qreal left, qreal top, qreal right, qreal bottom) |
void | setWindowTitle(const QString &title) |
QSizeF | size() const |
QStyle * | style() const |
bool | testAttribute(Qt::WidgetAttribute attribute) const |
void | unsetLayoutDirection() |
void | unsetWindowFrameMargins() |
Qt::WindowFlags | windowFlags() const |
QRectF | windowFrameGeometry() const |
QRectF | windowFrameRect() const |
QString | windowTitle() const |
Qt::WindowType | windowType() const |
Reimplementierte öffentliche Funktionen
virtual QRectF | boundingRect() const override |
virtual void | getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const override |
virtual void | paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr) override |
virtual void | setGeometry(const QRectF &rect) override |
virtual QPainterPath | shape() const override |
virtual int | type() const override |
Öffentliche Slots
bool | close() |
Signale
void | geometryChanged() |
void | layoutChanged() |
Statische öffentliche Mitglieder
void | setTabOrder(QGraphicsWidget *first, QGraphicsWidget *second) |
Geschützte Funktionen
virtual void | changeEvent(QEvent *event) |
virtual void | closeEvent(QCloseEvent *event) |
virtual bool | focusNextPrevChild(bool next) |
virtual void | grabKeyboardEvent(QEvent *event) |
virtual void | grabMouseEvent(QEvent *event) |
virtual void | hideEvent(QHideEvent *event) |
virtual void | initStyleOption(QStyleOption *option) const |
virtual void | moveEvent(QGraphicsSceneMoveEvent *event) |
virtual void | polishEvent() |
virtual void | resizeEvent(QGraphicsSceneResizeEvent *event) |
virtual void | showEvent(QShowEvent *event) |
virtual void | ungrabKeyboardEvent(QEvent *event) |
virtual void | ungrabMouseEvent(QEvent *event) |
virtual bool | windowFrameEvent(QEvent *event) |
virtual Qt::WindowFrameSection | windowFrameSectionAt(const QPointF &pos) const |
Reimplementierte geschützte Funktionen
virtual bool | event(QEvent *event) override |
virtual void | focusInEvent(QFocusEvent *event) override |
virtual void | focusOutEvent(QFocusEvent *event) override |
virtual void | hoverLeaveEvent(QGraphicsSceneHoverEvent *event) override |
virtual void | hoverMoveEvent(QGraphicsSceneHoverEvent *event) override |
virtual QVariant | itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value) override |
virtual bool | sceneEvent(QEvent *event) override |
virtual QSizeF | sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const override |
virtual void | updateGeometry() override |
Detaillierte Beschreibung
QGraphicsWidget ist ein erweitertes Basiselement, das zusätzliche Funktionalität über QGraphicsItem bietet. Es ist in vielerlei Hinsicht ähnlich wie QWidget:
- Bietet ein palette, ein font und ein style().
- Hat ein definiertes geometry().
- Unterstützt Layouts mit setLayout() und layout().
- Unterstützt Shortcuts und Aktionen mit grabShortcut() und insertAction()
Im Gegensatz zu QGraphicsItem ist QGraphicsWidget keine abstrakte Klasse; Sie können Instanzen von QGraphicsWidget erstellen, ohne es unterklassifizieren zu müssen. Dieser Ansatz ist nützlich für Widgets, die nur dem Zweck dienen, untergeordnete Widgets in einem Layout zu organisieren.
QGraphicsWidget kann als Basiselement für Ihr eigenes benutzerdefiniertes Element verwendet werden, wenn Sie eine erweiterte Handhabung des Eingabefokus benötigen, z.B. Tabulatorfokus und -aktivierung, oder Layouts.
Da QGraphicsWidget QWidget ähnelt und eine ähnliche API hat, ist es einfacher, ein Widget von QWidget auf QGraphicsWidget zu portieren, anstatt auf QGraphicsItem.
Hinweis: QWidget-basierte Widgets können mit QGraphicsProxyWidget direkt in ein QGraphicsScene eingebettet werden.
Bemerkenswerte Unterschiede zwischen QGraphicsWidget und QWidget sind:
QGraphicsWidget | QWidget |
---|---|
Koordinaten und Geometrie werden mit qreals (doubles oder floats, abhängig von der Plattform) definiert. | QWidget verwendet Integer-Geometrie (QPoint, QRect). |
Das Widget ist bereits standardmäßig sichtbar; Sie müssen nicht show() aufrufen, um das Widget anzuzeigen. | QWidget ist standardmäßig ausgeblendet, bis Sie show() aufrufen. |
Eine Teilmenge von Widget-Attributen wird unterstützt. | Alle Widget-Attribute werden unterstützt. |
Der Stil eines Top-Level-Elements ist standardmäßig auf QGraphicsScene::style | Die Standardeinstellung für den Stil eines Widgets der obersten Ebene ist QApplication::style |
Die Grafikansicht bietet ein benutzerdefiniertes Drag&Drop-Framework, das sich von QWidget unterscheidet. | Standard-Framework für Ziehen und Ablegen. |
Widgetelemente unterstützen keine Modalität. | Volle Modalitätsunterstützung. |
QGraphicsWidget unterstützt eine Teilmenge der Qt-Widget-Attribute (Qt::WidgetAttribute), wie in der folgenden Tabelle dargestellt. Alle Attribute, die nicht in dieser Tabelle aufgeführt sind, werden nicht unterstützt oder sind anderweitig unbenutzt.
Widget-Attribut | Verwendung |
---|---|
Qt::WA_SetLayoutDirection | Wird durch setLayoutDirection() gesetzt und durch unsetLayoutDirection() wieder gelöscht. Sie können dieses Attribut testen, um zu prüfen, ob dem Widget explizit ein layoutDirection zugewiesen wurde. Wenn das Attribut nicht gesetzt ist, wird layoutDirection() geerbt. |
Qt::WA_RightToLeft | Umgeschaltet durch setLayoutDirection(). Vererbt von der Eltern/Szene. Wenn gesetzt, ordnet das Layout des Widgets horizontal angeordnete Widgets von rechts nach links an. |
Qt::WA_SetStyle | Eingestellt und ausgeschaltet durch setStyle(). Wenn dieses Attribut gesetzt ist, wurde dem Widget explizit ein Stil zugewiesen. Wenn es nicht gesetzt ist, wird das Widget den Stil der Szene oder der Anwendung verwenden. |
Qt::WA_Resized | Wird gesetzt durch setGeometry() und resize(). |
Qt::WA_SetPalette | Eingestellt durch setPalette(). |
Qt::WA_SetFont | Eingestellt durch setFont(). |
Qt::WA_WindowPropagation | Ermöglicht die Weitergabe an Fenster-Widgets. |
Obwohl QGraphicsWidget sowohl von QObject als auch von QGraphicsItem erbt, sollten Sie die von QGraphicsItem und nicht von QObject bereitgestellten Funktionen verwenden, um die Beziehungen zwischen übergeordneten und untergeordneten Elementen zu verwalten. Diese Funktionen steuern die Stapelreihenfolge von Elementen sowie deren Eigentümerschaft.
Hinweis: Die Funktion QObject::parent() sollte für QGraphicsWidgets immer nullptr
zurückgeben, aber diese Richtlinie ist nicht streng definiert.
Siehe auch QGraphicsProxyWidget, QGraphicsItem, und Widgets und Layouts.
Dokumentation der Mitgliedstypen
enum QGraphicsWidget::anonymous
Der Wert, der von der virtuellen Funktion type() zurückgegeben wird.
Konstante | Wert | Beschreibung |
---|---|---|
QGraphicsWidget::Type | 11 | Ein Grafik-Widget-Element |
Eigenschaft Dokumentation
autoFillBackground : bool
Diese Eigenschaft bestimmt, ob der Hintergrund des Widgets automatisch gefüllt wird.
Wenn diese Eigenschaft aktiviert ist, wird Qt den Hintergrund des Widgets füllen, bevor die Methode paint() aufgerufen wird. Die verwendete Farbe wird durch die QPalette::Window Farbrolle aus dem palette des Widgets definiert.
Darüber hinaus werden Fenster immer mit QPalette::Window gefüllt, es sei denn, die Attribute WA_OpaquePaintEvent oder WA_NoSystemBackground sind gesetzt.
Standardmäßig ist diese Eigenschaft false
.
Zugriffsfunktionen:
bool | autoFillBackground() const |
void | setAutoFillBackground(bool enabled) |
Siehe auch Qt::WA_OpaquePaintEvent und Qt::WA_NoSystemBackground.
focusPolicy : Qt::FocusPolicy
Diese Eigenschaft legt fest, wie das Widget den Tastaturfokus akzeptiert
Die Fokusrichtlinie lautet Qt::TabFocus, wenn das Widget den Tastaturfokus durch Tabulieren akzeptiert, Qt::ClickFocus, wenn das Widget den Fokus durch Klicken akzeptiert, Qt::StrongFocus, wenn es beides akzeptiert, und Qt::NoFocus (der Standard), wenn es den Fokus überhaupt nicht akzeptiert.
Sie müssen den Tastaturfokus für ein Widget aktivieren, wenn es Tastaturereignisse verarbeitet. Dies geschieht normalerweise über den Konstruktor des Widgets. Zum Beispiel ruft der QLineEdit Konstruktor setFocusPolicy(Qt::StrongFocus) auf.
Wenn Sie eine Fokusrichtlinie aktivieren (d.h. nicht Qt::NoFocus), wird QGraphicsWidget automatisch das ItemIsFocusable-Flag aktivieren. Wenn Sie Qt::NoFocus für ein Widget setzen, wird das ItemIsFocusable-Flag gelöscht. Wenn das Widget derzeit den Tastaturfokus hat, verliert das Widget automatisch den Fokus.
Zugriffsfunktionen:
Qt::FocusPolicy | focusPolicy() const |
void | setFocusPolicy(Qt::FocusPolicy policy) |
Siehe auch focusInEvent(), focusOutEvent(), keyPressEvent(), keyReleaseEvent(), und enabled.
font : QFont
Diese Eigenschaft enthält die Schriftart des Widgets
Diese Eigenschaft gibt die Schriftart des Widgets an.
QFont Die Eigenschaft font() besteht aus explizit definierten Schrifteigenschaften und aus Eigenschaften, die implizit vom Elternteil des Widgets geerbt wurden. Daher kann font() eine andere Schriftart zurückgeben als die, die mit setFont() gesetzt wurde. Dieses Schema erlaubt es, einzelne Einträge in einer Schriftart zu definieren, ohne die geerbten Einträge der Schriftart zu beeinflussen.
Wenn sich die Schriftart eines Widgets ändert, löst es seine Einträge gegen sein Eltern-Widget auf. Wenn das Widget kein übergeordnetes Widget hat, löst es seine Einträge gegen die Szene auf. Das Widget sendet dann selbst ein FontChange -Ereignis und benachrichtigt alle seine Nachfahren, damit diese ihre Schriftarten ebenfalls auflösen können.
Standardmäßig enthält diese Eigenschaft die Standardschriftart der Anwendung.
Zugriffsfunktionen:
QFont | font() const |
void | setFont(const QFont &font) |
Siehe auch QApplication::font(), QGraphicsScene::font, und QFont::resolve().
geometry : QRectF
Diese Eigenschaft enthält die Geometrie des Widgets
Setzt die Geometrie des Elements auf rect. Position und Größe des Elements werden durch den Aufruf dieser Funktion geändert. Das Element wird zuerst verschoben und dann in der Größe verändert.
Ein Nebeneffekt des Aufrufs dieser Funktion ist, dass das Widget ein Bewegungs- und ein Größenänderungsereignis erhält. Falls dem Widget ein Layout zugewiesen ist, wird dieses aktiviert.
Zugriffsfunktionen:
virtual void | setGeometry(const QRectF &rect) override |
void | setGeometry(qreal x, qreal y, qreal w, qreal h) |
Melder-Signal:
void | geometryChanged() |
Siehe auch geometry() und resize().
layout : QGraphicsLayout*
Diese Eigenschaft enthält das Layout des Widgets
Jeder vorhandene Layout-Manager wird gelöscht, bevor das neue Layout zugewiesen wird. Wenn layout nullptr
ist, wird das Widget ohne Layout gelassen. Vorhandene Geometrien von Subwidgets bleiben davon unberührt.
QGraphicsWidget übernimmt das Eigentum an layout.
Alle Widgets, die derzeit von layout oder allen seinen Sublayouts verwaltet werden, werden automatisch auf dieses Element reparentiert. Das Layout wird dann ungültig gemacht und die Geometrien der untergeordneten Widgets werden gemäß geometry() und contentsMargins() dieses Elements angepasst. Kinder, die nicht explizit von layout verwaltet werden, bleiben von dem Layout unberührt, nachdem es diesem Widget zugewiesen wurde.
Wenn dieses Widget derzeit von keinem Layout verwaltet wird, gibt layout() nullptr
zurück.
Zugriffsfunktionen:
Benachrichtigungssignal:
void | layoutChanged() |
layoutDirection : Qt::LayoutDirection
Diese Eigenschaft enthält die Layout-Richtung für dieses Widget.
Diese Eigenschaft ändert das Attribut Qt::WA_RightToLeft dieses Widgets und aller seiner Nachfahren. Sie setzt auch das Qt::WA_SetLayoutDirection Attribut dieses Widgets.
Die Layout-Richtung des Widgets bestimmt die Reihenfolge, in der der Layout-Manager die Unter-Widgets dieses Widgets horizontal anordnet. Der Standardwert hängt von der Sprache und dem Gebietsschema der Anwendung ab und ist normalerweise in der gleichen Richtung, in der Wörter gelesen und geschrieben werden. Bei Qt::LeftToRight beginnt das Layout mit der Platzierung der Subwidgets von der linken Seite dieses Widgets nach rechts. Qt::RightToLeft bewirkt das Gegenteil - das Layout platziert die Widgets vom rechten Rand aus nach links.
Unter-Widgets erben ihre Layout-Richtung vom übergeordneten Widget. Top-Level-Widgetelemente erben ihre Layout-Richtung von QGraphicsScene::layoutDirection. Wenn Sie die Layout-Richtung eines Widgets durch den Aufruf von setLayoutDirection() ändern, sendet das Widget selbst ein LayoutDirectionChange -Ereignis und gibt dann die neue Layout-Richtung an alle seine Nachfahren weiter.
Zugriffsfunktionen:
Qt::LayoutDirection | layoutDirection() const |
void | setLayoutDirection(Qt::LayoutDirection direction) |
void | unsetLayoutDirection() |
Siehe auch QWidget::layoutDirection und QApplication::layoutDirection.
maximumSize : const QSizeF
Diese Eigenschaft enthält die maximale Größe des Widgets
Siehe auch setMaximumSize(), maximumSize(), minimumSize, und preferredSize.
minimumSize : const QSizeF
Diese Eigenschaft enthält die Mindestgröße des Widgets
Siehe auch setMinimumSize(), minimumSize(), preferredSize, und maximumSize.
palette : QPalette
Diese Eigenschaft enthält die Palette des Widgets
Diese Eigenschaft stellt die Palette des Widgets bereit. Die Palette bietet Farben und Pinsel für Farbgruppen (z.B. QPalette::Button) und Zustände (z.B. QPalette::Inactive), die das allgemeine Aussehen des Widgets und seiner Kinder definieren.
QPalette besteht aus Farbgruppen, die explizit definiert wurden, und Gruppen, die implizit vom Elternteil des Widgets geerbt werden. Aus diesem Grund kann palette() eine andere Palette zurückgeben als die, die mit setPalette() gesetzt wurde. Dieses Schema erlaubt es Ihnen, einzelne Einträge in einer Palette zu definieren, ohne die geerbten Einträge der Palette zu beeinflussen.
Wenn sich die Palette eines Widgets ändert, löst es seine Einträge gegen sein Eltern-Widget auf, oder wenn es kein Eltern-Widget hat, löst es gegen die Szene auf. Es sendet dann selbst ein PaletteChange -Ereignis und benachrichtigt alle seine Nachfahren, damit diese ihre Paletten ebenfalls auflösen können.
Standardmäßig enthält diese Eigenschaft die Standardpalette der Anwendung.
Zugriffsfunktionen:
QPalette | palette() const |
void | setPalette(const QPalette &palette) |
Siehe auch QGuiApplication::palette(), QGraphicsScene::palette, und QPalette::resolve().
preferredSize : const QSizeF
Diese Eigenschaft enthält die bevorzugte Größe des Widgets
Siehe auch setPreferredSize(), preferredSize(), minimumSize, und maximumSize.
size : QSizeF
Diese Eigenschaft enthält die Größe des Widgets
Der Aufruf von resize() ändert die Größe des Widgets auf size, begrenzt durch minimumSize() und maximumSize(). Diese Eigenschaft wirkt sich nur auf die Breite und Höhe des Widgets aus (z.B. die rechte und untere Kante); die Position und die linke obere Ecke des Widgets bleiben davon unbeeinflusst.
Das Ändern der Größe eines Widgets führt dazu, dass das Widget sofort ein GraphicsSceneResize -Ereignis mit der alten und neuen Größe des Widgets erhält. Wenn dem Widget ein Layout zugewiesen ist, wenn dieses Ereignis eintrifft, wird das Layout aktiviert und es aktualisiert automatisch die Geometrie aller untergeordneten Widgets.
Diese Eigenschaft hat keinen Einfluss auf das Layout des übergeordneten Widgets. Wenn das Widget selbst von einem übergeordneten Layout verwaltet wird, d. h. wenn es ein übergeordnetes Widget mit einem zugewiesenen Layout hat, wird dieses Layout nicht aktiviert.
Standardmäßig enthält diese Eigenschaft eine Größe mit einer Breite und Höhe von Null.
Zugriffsfunktionen:
QSizeF | size() const |
void | resize(const QSizeF &size) |
void | resize(qreal w, qreal h) |
Melder-Signal:
void | geometryChanged() |
Siehe auch setGeometry(), QGraphicsSceneResizeEvent, und QGraphicsLayout.
sizePolicy : const QSizePolicy
Diese Eigenschaft enthält die Größenpolitik für das Widget
Siehe auch sizePolicy(), setSizePolicy(), und QWidget::sizePolicy().
windowFlags : Qt::WindowFlags
Diese Eigenschaft enthält die Fenster-Flags des Widgets
Fensterflags sind eine Kombination aus einem Fenstertyp (z.B. Qt::Dialog) und mehreren Flags, die Hinweise auf das Verhalten des Fensters geben. Das Verhalten ist plattformabhängig.
Standardmäßig enthält diese Eigenschaft keine Fenster-Flags.
Fenster sind Panels. Wenn Sie das Flag Qt::Window setzen, wird das ItemIsPanel-Flag automatisch gesetzt. Wenn Sie das Flag Qt::Window löschen, wird auch das ItemIsPanel-Flag gelöscht. Beachten Sie, dass das ItemIsPanel-Flag unabhängig von Qt::Window gesetzt werden kann.
Zugriffsfunktionen:
Qt::WindowFlags | windowFlags() const |
void | setWindowFlags(Qt::WindowFlags wFlags) |
Siehe auch isWindow() und isPanel().
windowTitle : QString
Diese Eigenschaft enthält den Fenstertitel (Beschriftung).
Diese Eigenschaft wird nur für Fenster verwendet.
Wenn kein Titel festgelegt wurde, enthält diese Eigenschaft standardmäßig eine leere Zeichenkette.
Zugriffsfunktionen:
QString | windowTitle() const |
void | setWindowTitle(const QString &title) |
Dokumentation der Mitgliedsfunktionen
QGraphicsWidget::QGraphicsWidget(QGraphicsItem *parent = nullptr, Qt::WindowFlags wFlags = Qt::WindowFlags())
Konstruiert eine QGraphicsWidget-Instanz. Das optionale Argument parent wird an den Konstruktor von QGraphicsItem übergeben. Das optionale Argument wFlags gibt die Fenster-Flags des Widgets an (z.B. ob das Widget ein Fenster, ein Werkzeug, ein Popup, etc. sein soll).
[virtual noexcept]
QGraphicsWidget::~QGraphicsWidget()
Zerstört die Instanz QGraphicsWidget.
QList<QAction *> QGraphicsWidget::actions() const
Gibt die (möglicherweise leere) Liste der Aktionen dieses Widgets zurück.
Siehe auch insertAction(), removeAction(), QWidget::actions(), QAction::associatedWidgets(), und QAction::associatedGraphicsWidgets().
void QGraphicsWidget::addAction(QAction *action)
Hängt die Aktion action an die Liste der Aktionen des Widgets an.
Alle QGraphicsWidgets haben eine Liste von QActions, jedoch können diese auf viele verschiedene Arten graphisch dargestellt werden. Die Standardverwendung der QAction Liste (wie von actions() zurückgegeben) ist es, einen Kontext QMenu zu erstellen.
Ein QGraphicsWidget sollte von jeder Aktion nur eine haben und das Hinzufügen einer Aktion, die es bereits hat, wird nicht dazu führen, dass dieselbe Aktion zweimal im Widget ist.
Siehe auch removeAction(), insertAction(), actions(), und QWidget::addAction().
void QGraphicsWidget::addActions(const QList<QAction *> &actions)
Hängt die Aktionen actions an die Liste der Aktionen dieses Widgets an.
Siehe auch removeAction(), QMenu, addAction(), und QWidget::addActions().
void QGraphicsWidget::adjustSize()
Passt die Größe des Widgets an den effektiven Hinweis auf die bevorzugte Größe an.
Diese Funktion wird implizit aufgerufen, wenn das Element zum ersten Mal angezeigt wird.
Siehe auch effectiveSizeHint() und Qt::MinimumSize.
[override virtual]
QRectF QGraphicsWidget::boundingRect() const
Reimplements: QGraphicsItem::boundingRect() const.
[virtual protected]
void QGraphicsWidget::changeEvent(QEvent *event)
Dieser Event-Handler kann neu implementiert werden, um Zustandsänderungen zu behandeln.
Der in diesem Ereignis geänderte Zustand kann über event abgefragt werden.
Zu den Änderungsereignissen gehören: QEvent::ActivationChange, QEvent::EnabledChange, QEvent::FontChange, QEvent::StyleChange, QEvent::PaletteChange, QEvent::ParentChange, QEvent::LayoutDirectionChange und QEvent::ContentsRectChange.
[slot]
bool QGraphicsWidget::close()
Rufen Sie diese Funktion auf, um das Widget zu schließen.
Gibt true
zurück, wenn das Widget geschlossen wurde; andernfalls wird false
zurückgegeben. Dieser Slot sendet zunächst ein QCloseEvent an das Widget, das das Ereignis annehmen kann oder nicht. Wenn das Ereignis ignoriert wurde, passiert nichts. Wenn das Ereignis akzeptiert wurde, wird das Widget hide() gesendet.
Wenn das Widget das Attribut Qt::WA_DeleteOnClose gesetzt hat, wird es gelöscht.
[virtual protected]
void QGraphicsWidget::closeEvent(QCloseEvent *event)
Dieser Event-Handler für event kann in einer Unterklasse neu implementiert werden, um Ereignisse zum Schließen von Widgets zu empfangen. Die Standardimplementierung nimmt das Ereignis an.
Siehe auch close() und QCloseEvent.
[override virtual protected]
bool QGraphicsWidget::event(QEvent *event)
Reimplements: QGraphicsObject::event(QEvent *ev).
Behandelt die event. QGraphicsWidget behandelt die folgenden Ereignisse:
Ereignis | Verwendung |
---|---|
Polnisch | Wird dem Widget einige Zeit nach dessen Anzeige zugestellt. |
GraphicsSceneMove | Wird an das Widget geliefert, nachdem sich seine lokale Position geändert hat. |
GraphicsSceneResize | Wird an das Widget geliefert, nachdem sich seine Größe geändert hat. |
Anzeigen | Wird an das Widget gesendet, bevor es angezeigt wird. |
Ausblenden | Wird an das Widget zugestellt, nachdem es ausgeblendet wurde. |
PaletteChange | Wird an das Widget zugestellt, nachdem seine Palette geändert wurde. |
SchriftartÄnderung | Wird an das Widget zugestellt, nachdem sich seine Schriftart geändert hat. |
EnabledChange | Wird an das Widget zugestellt, nachdem sich sein Aktivierungsstatus geändert hat. |
StyleChange | Wird an das Widget zugestellt, nachdem sich sein Stil geändert hat. |
LayoutDirectionChange | Wird an das Widget geliefert, nachdem sich seine Layout-Richtung geändert hat. |
ContentsRectChange | Wird an das Widget geliefert, nachdem sich seine Inhaltsränder/Inhaltsrechtecke geändert haben. |
[override virtual protected]
void QGraphicsWidget::focusInEvent(QFocusEvent *event)
Reimplements: QGraphicsItem::focusInEvent(QFocusEvent *event).
[virtual protected]
bool QGraphicsWidget::focusNextPrevChild(bool next)
Findet ein neues Widget, dem der Tastaturfokus gegeben werden soll, wie es für Tab und Shift+Tab angemessen ist, und gibt true
zurück, wenn es ein neues Widget findet; andernfalls false
. Wenn next wahr ist, sucht diese Funktion vorwärts; wenn next falsch ist, sucht sie rückwärts.
Manchmal werden Sie diese Funktion neu implementieren wollen, um eine spezielle Handhabung des Fokus für Ihr Widget und seine Subwidgets bereitzustellen. Zum Beispiel könnte ein Webbrowser diese Funktion neu implementieren, um den aktuell aktiven Link vorwärts oder rückwärts zu verschieben und die Basisimplementierung nur aufzurufen, wenn er den letzten oder ersten Link auf der Seite erreicht.
Kind-Widgets rufen focusNextPrevChild() bei ihren Eltern-Widgets auf, aber nur das Fenster, das die Kind-Widgets enthält, entscheidet, wohin der Fokus umgeleitet wird. Indem Sie diese Funktion für ein Objekt reimplementieren, erhalten Sie die Kontrolle über den Fokus-Traversal für alle Child-Widgets.
Siehe auch focusPolicy().
[override virtual protected]
void QGraphicsWidget::focusOutEvent(QFocusEvent *event)
Reimplements: QGraphicsItem::focusOutEvent(QFocusEvent *event).
QGraphicsWidget *QGraphicsWidget::focusWidget() const
Wenn dieses Widget, ein Kind oder ein Nachkomme dieses Widgets derzeit den Eingabefokus hat, gibt diese Funktion einen Zeiger auf dieses Widget zurück. Wenn kein nachgeordnetes Widget den Eingabefokus hat, wird nullptr
zurückgegeben.
Siehe auch QGraphicsItem::focusItem() und QWidget::focusWidget().
[signal]
void QGraphicsWidget::geometryChanged()
Dieses Signal wird immer dann ausgegeben, wenn die Geometrie in setGeometry() geändert wird.
Hinweis: Meldesignal für die Eigenschaft geometry. Benachrichtigungssignal für die Eigenschaft size.
[override virtual]
void QGraphicsWidget::getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const
Reimplements: QGraphicsLayoutItem::getContentsMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const.
Ermittelt die Ränder des Widgets. Die Ränder werden in left, top, right und bottom, als Zeiger auf qreals gespeichert. Jedes Argument kann durch Übergabe von nullptr
weggelassen werden.
Siehe auch setContentsMargins().
void QGraphicsWidget::getWindowFrameMargins(qreal *left, qreal *top, qreal *right, qreal *bottom) const
Ruft die Fensterrahmenränder des Widgets ab. Die Ränder werden in left, top, right und bottom als Zeiger auf qreals gespeichert. Jedes Argument kann durch Übergabe von nullptr
weggelassen werden.
Siehe auch setWindowFrameMargins() und windowFrameRect().
[virtual protected]
void QGraphicsWidget::grabKeyboardEvent(QEvent *event)
Dieser Event-Handler für event kann in einer Unterklasse neu implementiert werden, um Benachrichtigungen für QEvent::GrabKeyboard Ereignisse zu erhalten.
Siehe auch grabKeyboard() und grabMouse().
[virtual protected]
void QGraphicsWidget::grabMouseEvent(QEvent *event)
Dieser Event-Handler für event kann in einer Unterklasse neu implementiert werden, um Benachrichtigungen für QEvent::GrabMouse Ereignisse zu erhalten.
Siehe auch grabMouse() und grabKeyboard().
int QGraphicsWidget::grabShortcut(const QKeySequence &sequence, Qt::ShortcutContext context = Qt::WindowShortcut)
Fügt dem Qt-Verknüpfungssystem eine Verknüpfung hinzu, die nach der angegebenen Taste sequence in der angegebenen context sucht. Wenn context Qt::ApplicationShortcut ist, gilt die Verknüpfung für die gesamte Anwendung. Andernfalls ist er entweder lokal für dieses Widget, Qt::WidgetShortcut, oder für das Fenster selbst, Qt::WindowShortcut. Für Widgets, die nicht Teil eines Fensters sind (d.h. Widgets der obersten Ebene und deren Kinder), gelten die Qt::WindowShortcut Tastenkombinationen für die Szene.
Wenn dieselbe Taste sequence von mehreren Widgets gegriffen wurde, wird beim Auftreten der Taste sequence ein QEvent::Shortcut Ereignis an alle Widgets gesendet, auf die es zutrifft, in einer nicht-deterministischen Reihenfolge, aber mit dem ``ambiguous''-Flag auf true gesetzt.
Warnung: Normalerweise sollten Sie diese Funktion nicht verwenden; erstellen Sie stattdessen QActionmit den von Ihnen benötigten Tastenkombinationen (wenn Sie auch entsprechende Menüoptionen und Schaltflächen in der Symbolleiste benötigen), oder erstellen Sie QShortcut, wenn Sie nur Tastenkombinationen benötigen. Sowohl QAction als auch QShortcut übernehmen die gesamte Ereignisfilterung für Sie und stellen Signale bereit, die ausgelöst werden, wenn der Benutzer die Tastenfolge auslöst, und sind daher viel einfacher zu verwenden als diese Low-Level-Funktion.
Siehe auch releaseShortcut(), setShortcutEnabled(), und QWidget::grabShortcut().
[virtual protected]
void QGraphicsWidget::hideEvent(QHideEvent *event)
Dieser Event-Handler für Hide -Ereignisse wird ausgeliefert, nachdem das Widget ausgeblendet wurde, z. B. wenn setVisible(false) für das Widget oder einen seiner Vorgänger aufgerufen wurde, während das Widget zuvor angezeigt wurde.
Sie können diesen Event-Handler neu implementieren, um zu erkennen, wann Ihr Widget ausgeblendet ist. Der Aufruf von QEvent::accept() oder QEvent::ignore() auf event hat keine Auswirkungen.
Siehe auch showEvent(), QWidget::hideEvent(), und ItemVisibleChange.
[override virtual protected]
void QGraphicsWidget::hoverLeaveEvent(QGraphicsSceneHoverEvent *event)
Reimplements: QGraphicsItem::hoverLeaveEvent(QGraphicsSceneHoverEvent *event).
[override virtual protected]
void QGraphicsWidget::hoverMoveEvent(QGraphicsSceneHoverEvent *event)
Reimplements: QGraphicsItem::hoverMoveEvent(QGraphicsSceneHoverEvent *event).
[virtual protected]
void QGraphicsWidget::initStyleOption(QStyleOption *option) const
Füllt ein Stiloptionsobjekt für dieses Widget auf der Grundlage seines aktuellen Zustands und speichert die Ausgabe in option. Die Standardimplementierung füllt option mit den folgenden Eigenschaften.
Stiloption Eigenschaft | Wert |
---|---|
Zustand & QStyle::State_Enabled | Entspricht QGraphicsItem::isEnabled(). |
status & QStyle::State_HasFocus | Entspricht QGraphicsItem::hasFocus(). |
Zustand & QStyle::State_MouseOver | Entspricht QGraphicsItem::isUnderMouse(). |
Richtung | Entspricht QGraphicsWidget::layoutDirection(). |
rect | Entspricht QGraphicsWidget::rect().toRect(). |
palette | Entspricht QGraphicsWidget::palette(). |
fontMetrics | Entspricht QFontMetrics(QGraphicsWidget::font()). |
Unterklassen von QGraphicsWidget sollten die Basisimplementierung aufrufen und dann den Typ von option mit qstyleoption_cast<>() oder QStyleOption::Type testen, bevor widget-spezifische Optionen gespeichert werden.
Zum Beispiel:
void MyGroupBoxWidget::initStyleOption(QStyleOption *option) const { QGraphicsWidget::initStyleOption(option); if (QStyleOptionGroupBox *box = qstyleoption_cast<QStyleOptionGroupBox *>(option)) { // Add group box specific state. box->flat = isFlat(); ... } }
Siehe auch QStyleOption::initFrom().
void QGraphicsWidget::insertAction(QAction *before, QAction *action)
Fügt die Aktion action in die Liste der Aktionen dieses Widgets ein, vor der Aktion before. Es fügt die Aktion an, wenn before nullptr
ist oder before keine gültige Aktion für dieses Widget ist.
Ein QGraphicsWidget sollte nur eine von jeder Aktion haben.
Siehe auch removeAction(), addAction(), QMenu, actions(), und QWidget::insertActions().
void QGraphicsWidget::insertActions(QAction *before, const QList<QAction *> &actions)
Fügt die Aktion actions in die Liste der Aktionen dieses Widgets ein, vor der Aktion before. Es fügt die Aktion an, wenn before nullptr
ist oder before keine gültige Aktion für dieses Widget ist.
Ein QGraphicsWidget kann höchstens eine von jeder Aktion haben.
Siehe auch removeAction(), QMenu, insertAction(), und QWidget::insertActions().
bool QGraphicsWidget::isActiveWindow() const
Gibt true
zurück, wenn das Fenster dieses Widgets im aktiven Fenster ist, oder wenn das Widget kein Fenster hat, aber in einer aktiven Szene ist (d.h. eine Szene, die gerade den Fokus hat).
Das aktive Fenster ist das Fenster, das entweder ein Kind-Widget enthält, das gerade den Eingabefokus hat, oder das selbst den Eingabefokus hat.
Siehe auch QGraphicsScene::activeWindow(), QGraphicsScene::setActiveWindow(), und isActive().
[override virtual protected]
QVariant QGraphicsWidget::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value)
Reimplements: QGraphicsItem::itemChange(QGraphicsItem::GraphicsItemChange change, const QVariant &value).
QGraphicsWidget verwendet die Basisimplementierung dieser Funktion, um Ereignisse im Zusammenhang mit Zustandsänderungen des Elements abzufangen und zu liefern. Aus diesem Grund ist es sehr wichtig, dass Unterklassen die Basisimplementierung aufrufen.
change gibt die Art der Änderung an, und value ist der neue Wert.
Zum Beispiel verwendet QGraphicsWidget ItemVisibleChange, um Show und Hide Ereignisse zu liefern, ItemPositionHasChanged, um Move Ereignisse zu liefern, und ItemParentChange, um ParentChange Ereignisse zu liefern und um die Fokuskette zu verwalten.
QGraphicsWidget aktiviert standardmäßig das ItemSendsGeometryChanges-Flag, um Positionsänderungen zu verfolgen.
Siehe auch QGraphicsItem::itemChange().
QGraphicsLayout *QGraphicsWidget::layout() const
Gibt das Layout dieses Widgets zurück, oder nullptr
, wenn dieses Widget derzeit nicht von einem Layout verwaltet wird.
Hinweis: Getter-Funktion für die Eigenschaft layout.
Siehe auch setLayout().
[virtual protected]
void QGraphicsWidget::moveEvent(QGraphicsSceneMoveEvent *event)
Dieser Ereignishandler für GraphicsSceneMove -Ereignisse wird ausgelöst, nachdem das Widget verschoben wurde (z. B. wenn sich seine lokale Position geändert hat).
Dieses Ereignis wird nur ausgelöst, wenn das Element lokal verschoben wird. Der Aufruf von setTransform() oder das Verschieben eines Vorgängers des Elements hat keinen Einfluss auf die lokale Position des Elements.
Sie können diesen Ereignishandler neu implementieren, um zu erkennen, wenn Ihr Widget verschoben wurde. Der Aufruf von QEvent::accept() oder QEvent::ignore() auf event hat keine Auswirkungen.
Siehe auch ItemPositionChange und ItemPositionHasChanged.
[override virtual]
void QGraphicsWidget::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
Reimplements: QGraphicsItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget).
[virtual]
void QGraphicsWidget::paintWindowFrame(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = nullptr)
Diese virtuelle Funktion wird von QGraphicsScene aufgerufen, um den Fensterrahmen für Fenster mit painter, option und widget in lokalen Koordinaten zu zeichnen. Die Basisimplementierung verwendet den aktuellen Stil, um den Rahmen und die Titelleiste darzustellen.
Sie können diese Funktion in einer Unterklasse von QGraphicsWidget neu implementieren, um eine eigene Darstellung des Fensterrahmens des Widgets zu ermöglichen.
Siehe auch QGraphicsItem::paint().
[virtual protected]
void QGraphicsWidget::polishEvent()
Dieses Ereignis wird dem Element von der Szene zu einem bestimmten Zeitpunkt zugestellt, nachdem es aufgebaut wurde, aber bevor es angezeigt oder anderweitig über die Szene aufgerufen wird. Sie können diesen Ereignishandler für Last-Minute-Initialisierungen des Widgets verwenden, die erfordern, dass das Element vollständig aufgebaut ist.
Die Basisimplementierung tut nichts.
QRectF QGraphicsWidget::rect() const
Gibt das lokale Rect des Elements als QRectF zurück. Diese Funktion ist äquivalent zu QRectF(QPointF(), size()).
Siehe auch setGeometry() und resize().
void QGraphicsWidget::releaseShortcut(int id)
Entfernt die Tastenkombination mit der angegebenen id aus dem Qt-Verknüpfungssystem. Das Widget empfängt keine QEvent::Shortcut Ereignisse mehr für die Tastenfolge des Shortcuts (es sei denn, es hat andere Shortcuts mit der gleichen Tastenfolge).
Warnung: Normalerweise sollten Sie diese Funktion nicht verwenden müssen, da das Qt-Verknüpfungssystem die Verknüpfungen automatisch entfernt, wenn das übergeordnete Widget zerstört wird. Es ist am besten, QAction oder QShortcut zu verwenden, um Shortcuts zu handhaben, da diese einfacher zu benutzen sind als diese Low-Level-Funktion. Beachten Sie auch, dass dies eine teure Operation ist.
Siehe auch grabShortcut(), setShortcutEnabled(), und QWidget::releaseShortcut().
void QGraphicsWidget::removeAction(QAction *action)
Entfernt die Aktion action aus der Liste der Aktionen in diesem Widget.
Siehe auch insertAction(), actions(), insertAction(), und QWidget::removeAction().
void QGraphicsWidget::resize(qreal w, qreal h)
Dies ist eine überladene Funktion.
Konstruiert eine Größenänderung mit den angegebenen width
(w) und height
(h). Diese Komfortfunktion entspricht dem Aufruf von resize(QSizeF(w, h)).
Hinweis: Setter-Funktion für die Eigenschaft size.
Siehe auch setGeometry() und setTransform().
[virtual protected]
void QGraphicsWidget::resizeEvent(QGraphicsSceneResizeEvent *event)
Dieser Event-Handler für das Ereignis GraphicsSceneResize wird ausgelöst, nachdem die Größe des Widgets geändert wurde (d.h. seine lokale Größe hat sich geändert). event enthält sowohl die alte als auch die neue Größe.
Dieses Ereignis wird nur ausgelöst, wenn die Größe des Widgets lokal geändert wird; der Aufruf von setTransform() für das Widget oder einen seiner Vorgänger oder eine Ansicht hat keinen Einfluss auf die lokale Größe des Widgets.
Sie können diesen Event-Handler neu implementieren, um zu erkennen, wenn Ihr Widget in der Größe verändert wurde. Der Aufruf von QEvent::accept() oder QEvent::ignore() auf event hat keine Auswirkung.
Siehe auch geometry() und setGeometry().
[override virtual protected]
bool QGraphicsWidget::sceneEvent(QEvent *event)
Reimplements: QGraphicsItem::sceneEvent(QEvent *event).
QGraphicsWidgetDie Implementierung von sceneEvent() übergibt einfach event an QGraphicsWidget::event(). Sie können alle Ereignisse für Ihr Widget in event() oder in einer der Komfortfunktionen behandeln; Sie sollten diese Funktion nicht in einer Unterklasse von QGraphicsWidget neu implementieren müssen.
Gibt true
zurück, wenn event erkannt und verarbeitet wurde; andernfalls gibt sie false
zurück.
Siehe auch QGraphicsItem::sceneEvent().
void QGraphicsWidget::setAttribute(Qt::WidgetAttribute attribute, bool on = true)
Wenn on wahr ist, aktiviert diese Funktion attribute; andernfalls ist attribute deaktiviert.
In der Klassendokumentation von QGraphicsWidget finden Sie eine vollständige Liste der unterstützten Attribute und ihrer Funktionen.
Siehe auch testAttribute() und QWidget::setAttribute().
void QGraphicsWidget::setContentsMargins(QMarginsF margins)
Setzt die Inhaltsränder des Widgets auf margins.
Inhaltsränder werden vom zugewiesenen Layout verwendet, um die Platzierung von Unter-Widgets und Layouts zu definieren. Ränder sind besonders nützlich für Widgets, die Subwidgets nur auf einen Teil ihrer eigenen Geometrie beschränken. Ein Gruppenrahmen mit einem Layout platziert beispielsweise Unterwidgets innerhalb seines Rahmens, aber unterhalb des Titels.
Das Ändern der Inhaltsränder eines Widgets löst immer eine update() aus, und jedes zugewiesene Layout wird automatisch aktiviert. Das Widget erhält dann ein ContentsRectChange Ereignis.
Siehe auch getContentsMargins() und setGeometry().
void QGraphicsWidget::setContentsMargins(qreal left, qreal top, qreal right, qreal bottom)
Dies ist eine überladene Funktion.
Setzt die Inhaltsränder des Widgets auf left, top, right und bottom.
void QGraphicsWidget::setGeometry(qreal x, qreal y, qreal w, qreal h)
Diese Komfortfunktion ist gleichbedeutend mit dem Aufruf von setGeometry(QRectF( x, y, w, h)).
Hinweis: Setter-Funktion für die Eigenschaft geometry.
Siehe auch geometry() und resize().
void QGraphicsWidget::setLayout(QGraphicsLayout *layout)
Setzt das Layout für dieses Widget auf layout. Ein vorhandener Layout-Manager wird gelöscht, bevor das neue Layout zugewiesen wird. Wenn layout gleich nullptr
ist, wird das Widget ohne Layout belassen. Vorhandene Geometrien von Subwidgets bleiben davon unberührt.
Alle Widgets, die derzeit von layout oder allen seinen Sublayouts verwaltet werden, werden automatisch auf dieses Element repariert. Das Layout wird dann für ungültig erklärt, und die Geometrien der untergeordneten Widgets werden gemäß geometry() und contentsMargins() dieses Elements angepasst. Kinder, die nicht explizit von layout verwaltet werden, bleiben vom Layout unberührt, nachdem es diesem Widget zugewiesen wurde.
QGraphicsWidget übernimmt das Eigentum an layout.
Hinweis: Setter-Funktion für die Eigenschaft layout.
Siehe auch layout(), QGraphicsLinearLayout::addItem(), und QGraphicsLayout::invalidate().
void QGraphicsWidget::setShortcutAutoRepeat(int id, bool enabled = true)
Wenn enabled true ist, wird die automatische Wiederholung der Verknüpfung mit der angegebenen id aktiviert; andernfalls ist sie deaktiviert.
Siehe auch grabShortcut(), releaseShortcut(), und QWidget::setShortcutAutoRepeat().
void QGraphicsWidget::setShortcutEnabled(int id, bool enabled = true)
Wenn enabled true ist, wird die Verknüpfung mit der angegebenen id aktiviert; andernfalls wird die Verknüpfung deaktiviert.
Warnung: Normalerweise sollten Sie diese Funktion nicht verwenden müssen, da das Qt-Verknüpfungssystem Verknüpfungen automatisch aktiviert/deaktiviert, wenn Widgets versteckt/sichtbar werden und den Fokus gewinnen oder verlieren. Es ist am besten, QAction oder QShortcut zu verwenden, um Verknüpfungen zu handhaben, da diese einfacher zu benutzen sind als diese Low-Level-Funktion.
Siehe auch grabShortcut(), releaseShortcut(), und QWidget::setShortcutEnabled().
void QGraphicsWidget::setStyle(QStyle *style)
Setzt den Stil des Widgets auf style. QGraphicsWidget übernimmt nicht das Eigentum an style.
Wenn kein Stil zugewiesen ist oder style nullptr
ist, verwendet das Widget QGraphicsScene::style() (falls dies festgelegt wurde). Andernfalls wird das Widget QApplication::style() verwenden.
Diese Funktion setzt das Attribut Qt::WA_SetStyle, wenn style nicht nullptr
ist; andernfalls löscht sie das Attribut.
Siehe auch style().
[static]
void QGraphicsWidget::setTabOrder(QGraphicsWidget *first, QGraphicsWidget *second)
Verschiebt das second -Widget um den Ring der Fokus-Widgets, so dass der Tastaturfokus vom first -Widget zum second -Widget wandert, wenn die Tabulator-Taste gedrückt wird.
Beachten Sie, dass Sie eine Kette wie folgt anordnen sollten, da die Tabulatorreihenfolge des second Widgets geändert wird:
setTabOrder(a, b); // a to b setTabOrder(b, c); // a to b to c setTabOrder(c, d); // a to b to c to d
und nicht wie hier:
// WRONG setTabOrder(c, d); // c to d setTabOrder(a, b); // a to b AND c to d setTabOrder(b, c); // a to b to c, but not c to d
Wenn first nullptr
ist, bedeutet dies, dass second das erste Widget sein sollte, das den Eingabefokus erhält, wenn die Szene den Tabulatorfokus erhält (d. h. der Benutzer drückt die Tabulatortaste, so dass der Fokus in die Szene übergeht). Wenn second nullptr
ist, bedeutet dies, dass first das erste Widget sein sollte, das den Fokus erhält, wenn die Szene den BackTab-Fokus erhält.
Standardmäßig wird die Tabulatorreihenfolge implizit durch die Reihenfolge der Widgeterstellung definiert.
Siehe auch focusPolicy und Tastaturfokus in Widgets.
void QGraphicsWidget::setWindowFrameMargins(QMarginsF margins)
Setzt die Ränder des Fensterrahmens des Widgets auf margins. Die Standard-Rahmenränder werden vom Stil bereitgestellt und hängen von den aktuellen Fensterflags ab.
Wenn Sie Ihre eigene Fensterdekoration zeichnen möchten, können Sie Ihre eigenen Rahmenränder festlegen, um die Standardränder zu überschreiben.
Siehe auch unsetWindowFrameMargins(), getWindowFrameMargins(), und windowFrameRect().
void QGraphicsWidget::setWindowFrameMargins(qreal left, qreal top, qreal right, qreal bottom)
Dies ist eine überladene Funktion.
Setzt die Fensterrahmenränder des Widgets auf left, top, right und bottom.
[override virtual]
QPainterPath QGraphicsWidget::shape() const
Reimplements: QGraphicsItem::shape() const.
[virtual protected]
void QGraphicsWidget::showEvent(QShowEvent *event)
Dieser Event-Handler für Show -Ereignisse wird ausgeliefert, bevor das Widget eingeblendet wurde, z. B. wenn setVisible(true) für das Widget oder einen seiner Vorgänger aufgerufen wurde und das Widget zuvor ausgeblendet war.
Sie können diesen Event-Handler neu implementieren, um zu erkennen, wann Ihr Widget angezeigt wird. Der Aufruf von QEvent::accept() oder QEvent::ignore() auf event hat keine Auswirkungen.
Siehe auch hideEvent(), QWidget::showEvent(), und ItemVisibleChange.
[override virtual protected]
QSizeF QGraphicsWidget::sizeHint(Qt::SizeHint which, const QSizeF &constraint = QSizeF()) const
Reimplements: QGraphicsLayoutItem::sizeHint(Qt::SizeHint which, const QSizeF &constraint) const.
QStyle *QGraphicsWidget::style() const
Gibt einen Zeiger auf den Stil des Widgets zurück. Wenn dieses Widget keinen explizit zugewiesenen Stil hat, wird stattdessen der Stil der Szene zurückgegeben. Wenn die Szene wiederum keinen zugewiesenen Stil hat, gibt diese Funktion QApplication::style() zurück.
Siehe auch setStyle().
bool QGraphicsWidget::testAttribute(Qt::WidgetAttribute attribute) const
Gibt true
zurück, wenn attribute für dieses Widget aktiviert ist; andernfalls wird false
zurückgegeben.
Siehe auch setAttribute().
[override virtual]
int QGraphicsWidget::type() const
Reimplements: QGraphicsItem::type() const.
[virtual protected]
void QGraphicsWidget::ungrabKeyboardEvent(QEvent *event)
Dieser Event-Handler für event kann in einer Unterklasse neu implementiert werden, um Benachrichtigungen für QEvent::UngrabKeyboard Ereignisse zu erhalten.
Siehe auch ungrabKeyboard() und ungrabMouse().
[virtual protected]
void QGraphicsWidget::ungrabMouseEvent(QEvent *event)
Dieser Event-Handler für event kann in einer Unterklasse neu implementiert werden, um Benachrichtigungen für QEvent::UngrabMouse Ereignisse zu erhalten.
Siehe auch ungrabMouse() und ungrabKeyboard().
void QGraphicsWidget::unsetWindowFrameMargins()
Setzt die Ränder des Fensterrahmens auf den Standardwert zurück, der durch den Stil vorgegeben ist.
Siehe auch setWindowFrameMargins(), getWindowFrameMargins(), und windowFrameRect().
[override virtual protected]
void QGraphicsWidget::updateGeometry()
Reimplements: QGraphicsLayoutItem::updateGeometry().
Wenn dieses Widget derzeit von einem Layout verwaltet wird, benachrichtigt diese Funktion das Layout, dass sich die Größenhinweise des Widgets geändert haben und das Layout die Größe und Position des Widgets möglicherweise entsprechend anpassen muss.
Rufen Sie diese Funktion auf, wenn sich die sizeHint() des Widgets geändert hat.
Siehe auch QGraphicsLayout::invalidate().
[virtual protected]
bool QGraphicsWidget::windowFrameEvent(QEvent *event)
Dieser Event-Handler für event empfängt Ereignisse für den Fensterrahmen, wenn dieses Widget ein Fenster ist. Seine Basisimplementierung bietet Unterstützung für die standardmäßige Interaktion mit dem Fensterrahmen, wie z. B. Verschieben, Größenänderung usw.
Sie können diesen Handler in einer Unterklasse von QGraphicsWidget neu implementieren, um Ihre eigene benutzerdefinierte Fensterrahmen-Interaktionsunterstützung bereitzustellen.
Gibt true
zurück, wenn event erkannt und verarbeitet wurde; andernfalls wird false
zurückgegeben.
Siehe auch event().
QRectF QGraphicsWidget::windowFrameGeometry() const
Liefert die Geometrie des Widgets in übergeordneten Koordinaten einschließlich eines Fensterrahmens.
Siehe auch windowFrameRect(), getWindowFrameMargins(), und setWindowFrameMargins().
QRectF QGraphicsWidget::windowFrameRect() const
Liefert das lokale Rect des Widgets einschließlich eines eventuellen Fensterrahmens.
Siehe auch windowFrameGeometry(), getWindowFrameMargins(), und setWindowFrameMargins().
[virtual protected]
Qt::WindowFrameSection QGraphicsWidget::windowFrameSectionAt(const QPointF &pos) const
Gibt den Fensterrahmenabschnitt an der Position pos zurück, oder Qt::NoSection, wenn es an dieser Position keinen Fensterrahmenabschnitt gibt.
Diese Funktion wird in der Basisimplementierung von QGraphicsWidget für die Interaktion mit Fensterrahmen verwendet.
Sie können diese Funktion neu implementieren, wenn Sie die Art und Weise, wie ein Fenster interaktiv verschoben oder in der Größe verändert werden kann, anpassen möchten. Wenn Sie z. B. nur die Größenänderung eines Fensters an der unteren rechten Ecke zulassen wollen, können Sie diese Funktion neu implementieren, so dass sie für alle Abschnitte außer Qt::BottomRightSection Qt::NoSection zurückgibt.
Siehe auch windowFrameEvent(), paintWindowFrame(), und windowFrameGeometry().
Qt::WindowType QGraphicsWidget::windowType() const
Gibt den Fenstertyp des Widgets zurück.
Siehe auch windowFlags(), isWindow(), und isPanel().
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.