QWindow Class
Die Klasse QWindow repräsentiert ein Fenster im zugrundeliegenden Windowing-System. Mehr...
Kopfzeile: | #include <QWindow> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Gui) target_link_libraries(mytarget PRIVATE Qt6::Gui) |
qmake: | QT += gui |
Erbt: | QObject und QSurface |
Geerbt von: |
Öffentliche Typen
enum | AncestorMode { ExcludeTransients, IncludeTransients } |
enum | Visibility { Windowed, Minimized, Maximized, FullScreen, AutomaticVisibility, Hidden } |
Eigenschaften
|
|
Öffentliche Funktionen
QWindow(QScreen *targetScreen = nullptr) | |
QWindow(QWindow *parent) | |
virtual | ~QWindow() |
QSize | baseSize() const |
Qt::ScreenOrientation | contentOrientation() const |
void | create() |
QCursor | cursor() const |
void | destroy() |
qreal | devicePixelRatio() const |
QString | filePath() const |
Qt::WindowFlags | flags() const |
virtual QObject * | focusObject() const |
QRect | frameGeometry() const |
QMargins | frameMargins() const |
QPoint | framePosition() const |
QRect | geometry() const |
int | height() const |
QIcon | icon() const |
bool | isActive() const |
bool | isAncestorOf(const QWindow *child, QWindow::AncestorMode mode = IncludeTransients) const |
bool | isExposed() const |
bool | isModal() const |
bool | isTopLevel() const |
bool | isVisible() const |
(since 6.0) QPointF | mapFromGlobal(const QPointF &pos) const |
QPoint | mapFromGlobal(const QPoint &pos) const |
(since 6.0) QPointF | mapToGlobal(const QPointF &pos) const |
QPoint | mapToGlobal(const QPoint &pos) const |
QRegion | mask() const |
int | maximumHeight() const |
QSize | maximumSize() const |
int | maximumWidth() const |
int | minimumHeight() const |
QSize | minimumSize() const |
int | minimumWidth() const |
Qt::WindowModality | modality() const |
qreal | opacity() const |
QWindow * | parent(QWindow::AncestorMode mode = ExcludeTransients) const |
QPoint | position() const |
void | reportContentOrientationChange(Qt::ScreenOrientation orientation) |
QSurfaceFormat | requestedFormat() const |
void | resize(const QSize &newSize) |
void | resize(int w, int h) |
QScreen * | screen() const |
void | setBaseSize(const QSize &size) |
void | setCursor(const QCursor &cursor) |
void | setFilePath(const QString &filePath) |
void | setFlag(Qt::WindowType flag, bool on = true) |
void | setFlags(Qt::WindowFlags flags) |
void | setFormat(const QSurfaceFormat &format) |
void | setFramePosition(const QPoint &point) |
void | setIcon(const QIcon &icon) |
bool | setKeyboardGrabEnabled(bool grab) |
void | setMask(const QRegion ®ion) |
void | setMaximumSize(const QSize &size) |
void | setMinimumSize(const QSize &size) |
void | setModality(Qt::WindowModality modality) |
bool | setMouseGrabEnabled(bool grab) |
void | setOpacity(qreal level) |
void | setParent(QWindow *parent) |
void | setPosition(const QPoint &pt) |
void | setPosition(int posx, int posy) |
void | setScreen(QScreen *newScreen) |
void | setSizeIncrement(const QSize &size) |
void | setSurfaceType(QSurface::SurfaceType surfaceType) |
void | setTransientParent(QWindow *parent) |
void | setVisibility(QWindow::Visibility v) |
void | setVulkanInstance(QVulkanInstance *instance) |
void | setWindowState(Qt::WindowState state) |
void | setWindowStates(Qt::WindowStates state) |
QSize | sizeIncrement() const |
QString | title() const |
QWindow * | transientParent() const |
Qt::WindowType | type() const |
void | unsetCursor() |
QWindow::Visibility | visibility() const |
QVulkanInstance * | vulkanInstance() const |
int | width() const |
WId | winId() const |
Qt::WindowState | windowState() const |
Qt::WindowStates | windowStates() const |
int | x() const |
int | y() const |
Reimplementierte öffentliche Funktionen
virtual QSurfaceFormat | format() const override |
virtual QSize | size() const override |
virtual QSurface::SurfaceType | surfaceType() const override |
Öffentliche Slots
void | alert(int msec) |
bool | close() |
void | hide() |
void | lower() |
void | raise() |
void | requestActivate() |
void | requestUpdate() |
void | setGeometry(const QRect &rect) |
void | setGeometry(int posx, int posy, int w, int h) |
void | setHeight(int arg) |
void | setMaximumHeight(int h) |
void | setMaximumWidth(int w) |
void | setMinimumHeight(int h) |
void | setMinimumWidth(int w) |
void | setTitle(const QString &) |
void | setVisible(bool visible) |
void | setWidth(int arg) |
void | setX(int arg) |
void | setY(int arg) |
void | show() |
void | showFullScreen() |
void | showMaximized() |
void | showMinimized() |
void | showNormal() |
bool | startSystemMove() |
bool | startSystemResize(Qt::Edges edges) |
Signale
void | activeChanged() |
void | contentOrientationChanged(Qt::ScreenOrientation orientation) |
void | focusObjectChanged(QObject *object) |
void | heightChanged(int arg) |
void | maximumHeightChanged(int arg) |
void | maximumWidthChanged(int arg) |
void | minimumHeightChanged(int arg) |
void | minimumWidthChanged(int arg) |
void | modalityChanged(Qt::WindowModality modality) |
void | opacityChanged(qreal opacity) |
void | screenChanged(QScreen *screen) |
void | transientParentChanged(QWindow *transientParent) |
void | visibilityChanged(QWindow::Visibility visibility) |
void | visibleChanged(bool arg) |
void | widthChanged(int arg) |
void | windowStateChanged(Qt::WindowState windowState) |
void | windowTitleChanged(const QString &title) |
void | xChanged(int arg) |
void | yChanged(int arg) |
Statische öffentliche Mitglieder
QWindow * | fromWinId(WId id) |
Geschützte Funktionen
virtual void | closeEvent(QCloseEvent *ev) |
virtual void | exposeEvent(QExposeEvent *ev) |
virtual void | focusInEvent(QFocusEvent *ev) |
virtual void | focusOutEvent(QFocusEvent *ev) |
virtual void | hideEvent(QHideEvent *ev) |
virtual void | keyPressEvent(QKeyEvent *ev) |
virtual void | keyReleaseEvent(QKeyEvent *ev) |
virtual void | mouseDoubleClickEvent(QMouseEvent *ev) |
virtual void | mouseMoveEvent(QMouseEvent *ev) |
virtual void | mousePressEvent(QMouseEvent *ev) |
virtual void | mouseReleaseEvent(QMouseEvent *ev) |
virtual void | moveEvent(QMoveEvent *ev) |
virtual bool | nativeEvent(const QByteArray &eventType, void *message, qintptr *result) |
(since 6.0) virtual void | paintEvent(QPaintEvent *ev) |
virtual void | resizeEvent(QResizeEvent *ev) |
virtual void | showEvent(QShowEvent *ev) |
virtual void | tabletEvent(QTabletEvent *ev) |
virtual void | touchEvent(QTouchEvent *ev) |
virtual void | wheelEvent(QWheelEvent *ev) |
Reimplementierte geschützte Funktionen
virtual bool | event(QEvent *ev) override |
Detaillierte Beschreibung
Ein Fenster, dem ein Elternteil zugewiesen wird, wird zu einem nativen Kindfenster des Elternfensters.
Eine Anwendung wird typischerweise QWidget oder QQuickView für ihr UI verwenden und nicht direkt QWindow. Dennoch ist es möglich, direkt in ein QWindow mit QBackingStore oder QOpenGLContext zu rendern, wenn man die Abhängigkeiten auf ein Minimum reduzieren oder OpenGL direkt verwenden möchte. Das Raster Window Example und das OpenGL Window Example sind nützliche Referenzbeispiele für das Rendern in ein QWindow mit einem der beiden Ansätze.
Ressourcenverwaltung
Windows kann unter Umständen viel Speicherplatz benötigen. Ein übliches Maß ist Breite mal Höhe mal Farbtiefe. Ein Fenster kann auch mehrere Puffer enthalten, um doppelte und dreifache Pufferung zu unterstützen, sowie Tiefen- und Schablonenpuffer. Um die Speicherressourcen eines Fensters freizugeben, rufen Sie die Funktion destroy() auf.
Orientierung des Inhalts
QWindow verfügt über die Funktion reportContentOrientationChange(), die verwendet werden kann, um das Layout des Fensterinhalts in Bezug auf den Bildschirm festzulegen. Die Inhaltsausrichtung ist einfach ein Hinweis an das Fenstersystem, in welcher Ausrichtung sich der Fensterinhalt befindet. Sie ist nützlich, wenn Sie die gleiche Fenstergröße beibehalten wollen, aber den Inhalt stattdessen drehen wollen, insbesondere wenn Sie Rotationsanimationen zwischen verschiedenen Ausrichtungen durchführen. Das Fenstersystem kann diesen Wert verwenden, um das Layout von System-Popups oder Dialogen zu bestimmen.
Sichtbarkeit und Windowing System Exposure
Standardmäßig ist das Fenster nicht sichtbar, und Sie müssen setVisible(true) oder show() oder ähnliches aufrufen, um es sichtbar zu machen. Um ein Fenster wieder unsichtbar zu machen, rufen Sie setVisible(false) oder hide() auf. Die Eigenschaft visible beschreibt den Zustand, in dem die Anwendung das Fenster haben möchte. Je nach zugrundeliegendem System kann ein sichtbares Fenster trotzdem nicht auf dem Bildschirm angezeigt werden. Es könnte z. B. von anderen undurchsichtigen Fenstern verdeckt oder aus dem physischen Bereich des Bildschirms herausgeschoben werden. Bei Windowing-Systemen, die über Exposure Notifications verfügen, beschreibt der Accessor isExposed(), ob das Fenster als direkt auf dem Bildschirm sichtbar behandelt werden soll. Die Funktion exposeEvent() wird immer dann aufgerufen, wenn ein Bereich des Fensters ungültig wird, z. B. weil sich die Belichtung im Windowing-System ändert. Bei Windowing-Systemen, die diese Information für die Anwendung nicht sichtbar machen, gibt isExposed() einfach den gleichen Wert zurück wie isVisible().
QWindow::Visibility Die über visibility() abgefragte Funktion visible() ist eine Komfort-API, die die Funktionen von visible() und windowStates() kombiniert.
Rendering
Es gibt zwei Qt-APIs, die verwendet werden können, um Inhalte in ein Fenster zu rendern: QBackingStore für das Rendern mit QPainter und das Flushen der Inhalte in ein Fenster vom Typ QSurface::RasterSurface und QOpenGLContext für das Rendern mit OpenGL in ein Fenster vom Typ QSurface::OpenGLSurface.
Die Anwendung kann mit dem Rendering beginnen, sobald isExposed() true
zurückgibt, und kann das Rendering fortsetzen, bis isExposed() false
zurückgibt. Um herauszufinden, wann isExposed() sich ändert, implementieren Sie exposeEvent() neu. Das Fenster wird immer ein Resize-Ereignis vor dem ersten Exposure-Ereignis erhalten.
Anfängliche Geometrie
Wenn die Breite und Höhe des Fensters nicht initialisiert werden, erhält das Fenster eine angemessene Standardgeometrie vom Plattformfenster. Wenn die Position nicht initialisiert ist, erlaubt das Plattformfenster dem Windowing-System, das Fenster zu positionieren. Unter X11 beispielsweise führt der Fenstermanager normalerweise eine Art intelligenter Positionierung durch, um zu vermeiden, dass neue Fenster bestehende Fenster vollständig verdecken. setGeometry () initialisiert jedoch sowohl die Position als auch die Größe. Wenn Sie also eine feste Größe, aber eine automatische Position wünschen, sollten Sie stattdessen resize() oder setWidth() und setHeight() aufrufen.
Dokumentation der Mitgliedstypen
enum QWindow::AncestorMode
Diese Aufzählung wird verwendet, um zu kontrollieren, ob vorübergehende Eltern als Vorfahren betrachtet werden sollen oder nicht.
Konstante | Wert | Beschreibung |
---|---|---|
QWindow::ExcludeTransients | 0 | Vorübergehende Eltern werden nicht als Vorfahren betrachtet. |
QWindow::IncludeTransients | 1 | Vorübergehende Eltern werden als Vorfahren betrachtet. |
enum QWindow::Visibility
Diese Aufzählung beschreibt, welchen Teil des Bildschirms das Fenster einnimmt oder einnehmen soll.
Konstante | Wert | Beschreibung |
---|---|---|
QWindow::Windowed | 2 | Das Fenster belegt einen Teil des Bildschirms, aber nicht unbedingt den gesamten Bildschirm. Dieser Zustand tritt nur bei Windowing-Systemen auf, die die gleichzeitige Anzeige mehrerer Fenster unterstützen. In diesem Zustand ist es dem Benutzer möglich, das Fenster manuell zu verschieben und in der Größe zu verändern, sofern die WindowFlags dies zulassen und das Windowing-System dies unterstützt. |
QWindow::Minimized | 3 | Das Fenster wird auf einen Eintrag oder ein Symbol in der Taskleiste, im Dock, in der Aufgabenliste oder auf dem Desktop reduziert, je nachdem, wie das Fenstersystem minimierte Fenster behandelt. |
QWindow::Maximized | 4 | Das Fenster nimmt einen ganzen Bildschirm ein, und die Titelleiste ist weiterhin sichtbar. Bei den meisten Fenstersystemen ist dies der Zustand, der durch Klicken auf die Schaltfläche Maximieren in der Symbolleiste erreicht wird. |
QWindow::FullScreen | 5 | Das Fenster nimmt einen ganzen Bildschirm ein, ist nicht in der Größe veränderbar und hat keine Titelleiste. Auf einigen Plattformen, die die gleichzeitige Anzeige mehrerer Fenster nicht unterstützen, kann dies die übliche Sichtbarkeit sein, wenn das Fenster nicht ausgeblendet ist. |
QWindow::AutomaticVisibility | 1 | Dies bedeutet, dem Fenster einen sichtbaren Standardzustand zu geben, der je nach Plattform Vollbild oder Fenster sein kann. Er kann als Parameter an setVisibility übergeben werden, wird aber nie vom Visibility Accessor zurückgelesen. |
QWindow::Hidden | 0 | Das Fenster ist in keiner Weise sichtbar, es kann sich jedoch an eine latente Sichtbarkeit erinnern, die durch Setzen von AutomaticVisibility wiederhergestellt werden kann. |
Dokumentation der Eigenschaft
[read-only]
active : const bool
Diese Eigenschaft enthält den aktiven Status des Fensters
Zugriffsfunktionen:
bool | isActive() const |
Benachrichtigungssignal:
void | activeChanged() |
Siehe auch requestActivate().
contentOrientation : Qt::ScreenOrientation
Diese Eigenschaft enthält die Ausrichtung des Fensterinhalts
Dies ist ein Hinweis für den Fenstermanager für den Fall, dass er zusätzliche Inhalte wie Popups, Dialoge, Statusleisten oder ähnliches im Verhältnis zum Fenster anzeigen muss.
Die empfohlene Ausrichtung ist QScreen::orientation(), aber eine Anwendung muss nicht alle möglichen Ausrichtungen unterstützen und kann daher entscheiden, die aktuelle Bildschirmausrichtung zu ignorieren.
Die Differenz zwischen der Ausrichtung des Fensters und des Inhalts bestimmt, um wie viel der Inhalt gedreht werden soll. QScreen::angleBetween(), QScreen::transformBetween() und QScreen::mapBetween() können verwendet werden, um die notwendige Transformation zu berechnen.
Der Standardwert ist Qt::PrimaryOrientation
Zugriffsfunktionen:
Qt::ScreenOrientation | contentOrientation() const |
void | reportContentOrientationChange(Qt::ScreenOrientation orientation) |
Benachrichtigungssignal:
void | contentOrientationChanged(Qt::ScreenOrientation orientation) |
flags : Qt::WindowFlags
Diese Eigenschaft enthält die Fensterkennzeichen des Fensters
Die Fenster-Flags steuern das Aussehen des Fensters im Fenstersystem, ob es ein Dialog, ein Popup oder ein normales Fenster ist und ob es eine Titelleiste haben soll, usw.
Die tatsächlichen Fenster-Flags können sich von den mit setFlags() gesetzten Flags unterscheiden, wenn die angeforderten Flags nicht erfüllt werden konnten.
Zugriffsfunktionen:
Qt::WindowFlags | flags() const |
void | setFlags(Qt::WindowFlags flags) |
Siehe auch setFlag().
height : int
Diese Eigenschaft enthält die Höhe der Fenstergeometrie
Zugriffsfunktionen:
int | height() const |
void | setHeight(int arg) |
Melder-Signal:
void | heightChanged(int arg) |
maximumHeight : int
Diese Eigenschaft enthält die maximale Höhe der Fenstergeometrie
Zugriffsfunktionen:
int | maximumHeight() const |
void | setMaximumHeight(int h) |
Melder-Signal:
void | maximumHeightChanged(int arg) |
maximumWidth : int
Diese Eigenschaft enthält die maximale Breite der Fenstergeometrie
Zugriffsfunktionen:
int | maximumWidth() const |
void | setMaximumWidth(int w) |
Melder-Signal:
void | maximumWidthChanged(int arg) |
minimumHeight : int
Diese Eigenschaft enthält die Mindesthöhe der Fenstergeometrie
Zugriffsfunktionen:
int | minimumHeight() const |
void | setMinimumHeight(int h) |
Melder-Signal:
void | minimumHeightChanged(int arg) |
minimumWidth : int
Diese Eigenschaft enthält die Mindestbreite der Fenstergeometrie
Zugriffsfunktionen:
int | minimumWidth() const |
void | setMinimumWidth(int w) |
Melder-Signal:
void | minimumWidthChanged(int arg) |
modality : Qt::WindowModality
Diese Eigenschaft enthält die Modalität des Fensters
Ein modales Fenster hindert andere Fenster daran, Eingabeereignisse zu empfangen. Qt unterstützt zwei Arten von Modalität: Qt::WindowModal und Qt::ApplicationModal.
Standardmäßig ist diese Eigenschaft Qt::NonModal
Zugriffsfunktionen:
Qt::WindowModality | modality() const |
void | setModality(Qt::WindowModality modality) |
Notifier Signal:
void | modalityChanged(Qt::WindowModality modality) |
Siehe auch Qt::WindowModality.
opacity : qreal
Diese Eigenschaft enthält die Deckkraft des Fensters im Fenstersystem.
Wenn das Fenstersystem die Opazität des Fensters unterstützt, kann diese Eigenschaft verwendet werden, um das Fenster ein- und auszublenden oder es halbtransparent zu machen.
Ein Wert von 1,0 oder mehr wird als vollständig undurchsichtig behandelt, während ein Wert von 0,0 oder weniger als vollständig transparent behandelt wird. Dazwischen liegende Werte repräsentieren verschiedene Stufen der Lichtdurchlässigkeit zwischen den beiden Extremen.
Der Standardwert ist 1.0.
Zugriffsfunktionen:
qreal | opacity() const |
void | setOpacity(qreal level) |
Melder-Signal:
void | opacityChanged(qreal opacity) |
title : QString
Diese Eigenschaft enthält den Titel des Fensters im Windowing-System
Der Fenstertitel kann im Titelbereich der Fensterdekorationen erscheinen, abhängig vom Fenstersystem und den Fensterflags. Er kann auch vom Fenstersystem verwendet werden, um das Fenster in anderen Kontexten zu identifizieren, z. B. im Task Switcher.
Zugriffsfunktionen:
QString | title() const |
void | setTitle(const QString &) |
Notifier-Signal:
void | windowTitleChanged(const QString &title) |
Siehe auch flags().
transientParent : QWindow*
Diese Eigenschaft enthält das Fenster, für das dieses Fenster ein transientes Pop-up ist.
Dies ist ein Hinweis für den Fenstermanager, dass dieses Fenster ein Dialog- oder Popup-Fenster im Namen des transienten Elternteils ist.
Damit das Fenster standardmäßig über seinem transienten parent zentriert wird, kann es je nach Fenstermanager auch notwendig sein, setFlags() mit einem geeigneten Qt::WindowType (z.B. Qt::Dialog
) aufzurufen.
Zugriffsfunktionen:
QWindow * | transientParent() const |
void | setTransientParent(QWindow *parent) |
Notifier-Signal:
void | transientParentChanged(QWindow *transientParent) |
Siehe auch parent().
visibility : Visibility
Diese Eigenschaft enthält den Bildschirmbelegungsstatus des Fensters
Die Sichtbarkeit gibt an, ob das Fenster im Fenstersystem als normal, minimiert, maximiert, bildschirmfüllend oder versteckt erscheinen soll.
Die Sichtbarkeit auf AutomaticVisibility zu setzen bedeutet, dem Fenster einen sichtbaren Standardzustand zu geben, der je nach Plattform Vollbild oder Fenster sein kann. Wenn Sie die Sichtbarkeitseigenschaft lesen, erhalten Sie immer den aktuellen Zustand, niemals AutomaticVisibility.
Zugriffsfunktionen:
QWindow::Visibility | visibility() const |
void | setVisibility(QWindow::Visibility v) |
Benachrichtigungssignal:
void | visibilityChanged(QWindow::Visibility visibility) |
visible : bool
Diese Eigenschaft gibt an, ob das Fenster sichtbar ist oder nicht
Diese Eigenschaft steuert die Sichtbarkeit des Fensters im Windowing-System.
Standardmäßig ist das Fenster nicht sichtbar, Sie müssen setVisible(true) oder show() oder ähnliches aufrufen, um es sichtbar zu machen.
Hinweis: Das Ausblenden eines Fensters entfernt das Fenster nicht aus dem Fenstersystem, es versteckt es nur. Auf Fenstersystemen, die Vollbildanwendungen einen eigenen Schreibtisch zuweisen (wie macOS), entfernt das Ausblenden eines Vollbildfensters diesen Schreibtisch nicht, sondern lässt ihn leer. Ein anderes Fenster der gleichen Anwendung wird möglicherweise im Vollbildmodus angezeigt und füllt diesen Schreibtisch aus. Verwenden Sie QWindow::close, um ein Fenster vollständig aus dem Fenstersystem zu entfernen.
Zugriffsfunktionen:
bool | isVisible() const |
void | setVisible(bool visible) |
Benachrichtigungssignal:
void | visibleChanged(bool arg) |
Siehe auch show().
width : int
Diese Eigenschaft enthält die Breite der Fenstergeometrie
Zugriffsfunktionen:
int | width() const |
void | setWidth(int arg) |
Melder-Signal:
void | widthChanged(int arg) |
x : int
Diese Eigenschaft enthält die x-Position der Fenstergeometrie
Zugriffsfunktionen:
int | x() const |
void | setX(int arg) |
Melder-Signal:
void | xChanged(int arg) |
y : int
Diese Eigenschaft enthält die y-Position der Fenstergeometrie
Zugriffsfunktionen:
int | y() const |
void | setY(int arg) |
Benachrichtigungssignal:
void | yChanged(int arg) |
Member Function Dokumentation
[explicit]
QWindow::QWindow(QScreen *targetScreen = nullptr)
Erzeugt ein Fenster als oberste Ebene auf targetScreen.
Das Fenster wird erst angezeigt, wenn setVisible(true), show() o.ä. aufgerufen wird.
Siehe auch setScreen().
[explicit]
QWindow::QWindow(QWindow *parent)
Erzeugt ein Fenster als Kind des angegebenen parent Fensters.
Das Fenster wird in das Elternfenster eingebettet, seine Koordinaten sind relativ zum Elternfenster.
Der Bildschirm wird vom Elternfenster geerbt.
Siehe auch setParent().
[virtual noexcept]
QWindow::~QWindow()
Zerstört das Fenster.
[slot]
void QWindow::alert(int msec)
Bewirkt, dass eine Warnung für msec Millisekunden angezeigt wird. Ist msec gleich 0
(Standardeinstellung), wird die Warnung auf unbestimmte Zeit angezeigt, bis das Fenster wieder aktiv wird. Diese Funktion hat keine Auswirkung auf ein aktives Fenster.
Im Alarmzustand zeigt das Fenster an, dass es Aufmerksamkeit verlangt, z. B. durch Blinken oder Wippen des Taskleisteneintrags.
QSize QWindow::baseSize() const
Gibt die Basisgröße des Fensters zurück.
Siehe auch setBaseSize().
[slot]
bool QWindow::close()
Schließen Sie das Fenster.
Dies schließt das Fenster, ruft effektiv destroy() auf und beendet möglicherweise die Anwendung. Gibt bei Erfolg true
zurück, false, wenn es ein übergeordnetes Fenster hat (in diesem Fall sollte stattdessen das Fenster der obersten Ebene geschlossen werden).
Siehe auch destroy(), QGuiApplication::quitOnLastWindowClosed(), und closeEvent().
[virtual protected]
void QWindow::closeEvent(QCloseEvent *ev)
Überschreiben Sie diese Funktion, um Schließereignisse zu behandeln (ev).
Die Funktion wird aufgerufen, wenn das Fenster zum Schließen aufgefordert wird. Rufen Sie QEvent::ignore() für das Ereignis auf, wenn Sie verhindern wollen, dass das Fenster geschlossen wird.
Siehe auch close().
void QWindow::create()
Weist die mit dem Fenster verbundenen Plattformressourcen zu.
An diesem Punkt wird das mit setFormat() festgelegte Oberflächenformat in eine tatsächliche native Oberfläche aufgelöst. Das Fenster bleibt jedoch ausgeblendet, bis setVisible() aufgerufen wird.
Beachten Sie, dass es normalerweise nicht notwendig ist, diese Funktion direkt aufzurufen, da sie implizit von show(), setVisible(), winId() und anderen Funktionen aufgerufen wird, die Zugriff auf die Plattformressourcen benötigen.
Rufen Sie destroy() auf, um die Plattformressourcen freizugeben, falls erforderlich.
Siehe auch destroy().
QCursor QWindow::cursor() const
die Cursorform für dieses Fenster
Siehe auch setCursor() und unsetCursor().
void QWindow::destroy()
Gibt die mit diesem Fenster verbundenen plattformeigenen Ressourcen frei.
Siehe auch create().
qreal QWindow::devicePixelRatio() const
Gibt das Verhältnis zwischen physischen Pixeln und geräteunabhängigen Pixeln für das Fenster zurück. Dieser Wert hängt von dem Bildschirm ab, auf dem sich das Fenster befindet, und kann sich ändern, wenn das Fenster verschoben wird.
Übliche Werte sind 1,0 auf normalen Bildschirmen und 2,0 auf Apple "Retina"-Displays.
Hinweis: Für Fenster, die nicht von einem Plattformfenster unterstützt werden, d. h., dass create() nicht aufgerufen wurde, greift die Funktion auf das Pixelverhältnis des zugehörigen Geräts QScreen zurück.
Siehe auch QScreen::devicePixelRatio().
[override virtual protected]
bool QWindow::event(QEvent *ev)
Reimplements: QObject::event(QEvent *e).
Überschreibt dies, um jedes Ereignis (ev) zu behandeln, das an das Fenster gesendet wird. Gibt true
zurück, wenn das Ereignis erkannt und verarbeitet wurde.
Denken Sie daran, die Version der Basisklasse aufzurufen, wenn Sie möchten, dass Mausereignisse, Tastenereignisse, Größenänderungsereignisse usw. wie üblich abgewickelt werden.
[virtual protected]
void QWindow::exposeEvent(QExposeEvent *ev)
Das Exposure-Ereignis (ev) wird vom Fenstersystem gesendet, wenn ein Fenster zwischen dem nicht exponierten und dem exponierten Zustand wechselt.
Ein exponiertes Fenster ist für den Benutzer potentiell sichtbar. Wenn das Fenster aus dem Bildschirm verschoben wird, von einem anderen Fenster völlig verdeckt wird, minimiert wird oder ähnliches, kann diese Funktion aufgerufen werden und der Wert von isExposed() kann sich auf false ändern. Sie können dieses Ereignis verwenden, um teure Operationen wie Animationen nur dann auszuführen, wenn das Fenster sichtbar ist.
Dieses Ereignis sollte nicht zum Malen verwendet werden. Um das Malen zu behandeln, implementieren Sie stattdessen paintEvent().
Ein Resize-Ereignis wird immer vor dem Expose-Ereignis gesendet, wenn ein Fenster zum ersten Mal angezeigt wird.
Siehe auch paintEvent() und isExposed().
QString QWindow::filePath() const
der Dateiname, den dieses Fenster darstellt.
Siehe auch setFilePath().
[virtual protected]
void QWindow::focusInEvent(QFocusEvent *ev)
Überschreiben Sie dies, um Fokus-Ereignisse zu behandeln (ev).
Fokus-in-Ereignisse werden gesendet, wenn das Fenster den Tastaturfokus erhält.
Siehe auch focusOutEvent().
[virtual]
QObject *QWindow::focusObject() const
Gibt die QObject zurück, die der endgültige Empfänger von Ereignissen ist, die den Fokus binden, wie z. B. Tastenereignisse.
[signal]
void QWindow::focusObjectChanged(QObject *object)
Dieses Signal wird ausgegeben, wenn der Endverbraucher von Ereignissen, die an den Fokus gebunden sind, auf object geändert wird.
Siehe auch focusObject().
[virtual protected]
void QWindow::focusOutEvent(QFocusEvent *ev)
Überschreiben Sie diese Funktion, um Ereignisse zu behandeln, die den Fokus verlieren (ev).
Fokus-Out-Ereignisse werden gesendet, wenn das Fenster den Tastaturfokus verliert.
Siehe auch focusInEvent().
[override virtual]
QSurfaceFormat QWindow::format() const
Reimplements: QSurface::format() const.
Gibt das aktuelle Format dieses Fensters zurück.
Nachdem das Fenster erstellt wurde, gibt diese Funktion das tatsächliche Oberflächenformat des Fensters zurück. Es kann sich von dem angeforderten Format unterscheiden, wenn das angeforderte Format von der Plattform nicht erfüllt werden konnte. Es kann auch eine Obermenge sein, z. B. können bestimmte Puffergrößen größer als angefordert sein.
Hinweis: Je nach Plattform können bestimmte Werte in diesem Oberflächenformat noch die angeforderten Werte enthalten, d. h. die Werte, die an setFormat() übergeben wurden. Typische Beispiele sind die OpenGL-Version, das Profil und die Optionen. Diese können während create() nicht aktualisiert werden, da sie kontextspezifisch sind und ein einzelnes Fenster während seiner Lebensdauer in mehreren Kontexten verwendet werden kann. Verwenden Sie stattdessen QOpenGLContext's format(), um solche Werte abzufragen.
Siehe auch setFormat(), create(), requestedFormat(), und QOpenGLContext::format().
QRect QWindow::frameGeometry() const
Gibt die Geometrie des Fensters zurück, einschließlich seines Fensterrahmens.
Die Geometrie steht in Relation zur virtualGeometry() des Bildschirms.
Siehe auch geometry() und frameMargins().
QMargins QWindow::frameMargins() const
Liefert die Ränder des Fensterrahmens, die das Fenster umgeben.
Siehe auch geometry() und frameGeometry().
QPoint QWindow::framePosition() const
Liefert die obere linke Position des Fensters, einschließlich seines Fensterrahmens.
Dies gibt den gleichen Wert zurück wie frameGeometry().topLeft().
Siehe auch setFramePosition(), geometry(), und frameGeometry().
[static]
QWindow *QWindow::fromWinId(WId id)
Erzeugt eine lokale Repräsentation eines Fensters, das von einem anderen Prozess oder durch die Verwendung nativer Bibliotheken unterhalb von Qt erstellt wurde.
Mit dem Handle id zu einem nativen Fenster erzeugt diese Methode ein QWindow Objekt, das verwendet werden kann, um das Fenster beim Aufruf von Methoden wie setParent() und setTransientParent() zu repräsentieren.
Dies kann auf Plattformen, die dies unterstützen, dazu verwendet werden, ein QWindow in ein eigenes Fenster einzubetten oder ein eigenes Fenster in ein QWindow einzubetten.
Wenn fremde Fenster nicht unterstützt werden oder das Einbetten des nativen Fensters im Plattform-Plugin fehlgeschlagen ist, gibt diese Funktion nullptr
zurück.
Hinweis: Das resultierende QWindow sollte nicht verwendet werden, um das zugrundeliegende native Fenster zu manipulieren (abgesehen vom Reparenting) oder um Zustandsänderungen des nativen Fensters zu beobachten. Jede Unterstützung für diese Art von Operationen ist zufällig, stark plattformabhängig und ungetestet.
Siehe auch setParent().
QRect QWindow::geometry() const
Gibt die Geometrie des Fensters zurück, ohne seinen Fensterrahmen.
Die Geometrie bezieht sich auf die virtualGeometry() des Bildschirms.
Siehe auch setGeometry(), frameMargins(), und frameGeometry().
[slot]
void QWindow::hide()
Blendet das Fenster aus.
Entspricht dem Aufruf von setVisible(false).
Siehe auch show() und setVisible().
[virtual protected]
void QWindow::hideEvent(QHideEvent *ev)
Überschreiben Sie diese Funktion, um Ausblendungsereignisse zu behandeln (ev).
Die Funktion wird aufgerufen, wenn das Fenster das Ausblenden im Fenstersystem beantragt hat.
QIcon QWindow::icon() const
Liefert das Symbol des Fensters im Windowing-System
Siehe auch setIcon().
bool QWindow::isActive() const
Gibt true
zurück, wenn das Fenster aktiv ist.
Dies gilt sowohl für das Fenster, das den Eingabefokus hat, als auch für Fenster, die sich in der gleichen übergeordneten / transienten übergeordneten Kette wie das Fokusfenster befinden.
Normalerweise sollten aktive Fenster aus der Perspektive des Stils aktiv erscheinen.
Um das Fenster zu erhalten, das gerade den Fokus hat, verwenden Sie QGuiApplication::focusWindow().
Hinweis: Getter-Funktion für die Eigenschaft active.
Siehe auch requestActivate().
bool QWindow::isAncestorOf(const QWindow *child, QWindow::AncestorMode mode = IncludeTransients) const
Gibt true
zurück, wenn das Fenster ein Vorfahre des angegebenen child ist. Wenn mode gleich IncludeTransients ist, dann werden auch vorübergehende Eltern als Vorfahren betrachtet.
bool QWindow::isExposed() const
Gibt zurück, ob dieses Fenster im Fenstersystem angezeigt wird.
Wenn das Fenster nicht exponiert ist, wird es von der Anwendung angezeigt, aber es ist immer noch nicht im Windowing-System zu sehen, so dass die Anwendung Animationen und andere grafische Aktivitäten minimieren sollte.
Jedes Mal, wenn sich dieser Wert ändert, wird eine exposeEvent() gesendet.
Siehe auch exposeEvent().
bool QWindow::isModal() const
Gibt zurück, ob das Fenster modal ist.
Ein modales Fenster verhindert, dass andere Fenster irgendwelche Eingaben erhalten.
Siehe auch QWindow::modality.
bool QWindow::isTopLevel() const
Gibt zurück, ob das Fenster übergeordnet ist, d. h. kein übergeordnetes Fenster hat.
[virtual protected]
void QWindow::keyPressEvent(QKeyEvent *ev)
Überschreiben Sie dies, um Tastendruckereignisse zu behandeln (ev).
Siehe auch keyReleaseEvent().
[virtual protected]
void QWindow::keyReleaseEvent(QKeyEvent *ev)
Überschreiben Sie diese Funktion, um Ereignisse der Tastenfreigabe zu behandeln (ev).
Siehe auch keyPressEvent().
[slot]
void QWindow::lower()
Das Fenster im Fenstersystem absenken.
Verlangt, dass das Fenster so abgesenkt wird, dass es unter anderen Fenstern erscheint.
[since 6.0]
QPointF QWindow::mapFromGlobal(const QPointF &pos) const
Übersetzt die globalen Bildschirmkoordinaten pos in Fensterkoordinaten.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch mapToGlobal().
QPoint QWindow::mapFromGlobal(const QPoint &pos) const
Dies ist eine überladene Funktion.
[since 6.0]
QPointF QWindow::mapToGlobal(const QPointF &pos) const
Übersetzt die Fensterkoordinate pos in globale Bildschirmkoordinaten. Zum Beispiel würde mapToGlobal(QPointF(0,0))
die globalen Koordinaten des oberen linken Pixels des Fensters liefern.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch mapFromGlobal().
QPoint QWindow::mapToGlobal(const QPoint &pos) const
Dies ist eine überladene Funktion.
QRegion QWindow::mask() const
Gibt die für das Fenster festgelegte Maske zurück.
Die Maske ist ein Hinweis an das Windowing-System, dass die Anwendung keine Maus- oder Berührungseingaben außerhalb des angegebenen Bereichs empfangen möchte.
Siehe auch setMask().
QSize QWindow::maximumSize() const
Gibt die maximale Größe des Fensters zurück.
Siehe auch setMaximumSize().
QSize QWindow::minimumSize() const
Gibt die Mindestgröße des Fensters zurück.
Siehe auch setMinimumSize().
[signal]
void QWindow::modalityChanged(Qt::WindowModality modality)
Dieses Signal wird ausgegeben, wenn die Eigenschaft Qwindow::modality auf modality wechselt.
Hinweis: Benachrichtigungssignal für die Eigenschaft modality.
[virtual protected]
void QWindow::mouseDoubleClickEvent(QMouseEvent *ev)
Überschreiben Sie dies, um Maus-Doppelklick-Ereignisse zu behandeln (ev).
Siehe auch mousePressEvent() und QStyleHints::mouseDoubleClickInterval().
[virtual protected]
void QWindow::mouseMoveEvent(QMouseEvent *ev)
Überschreiben Sie dies, um Mausbewegungsereignisse zu behandeln (ev).
[virtual protected]
void QWindow::mousePressEvent(QMouseEvent *ev)
Überschreiben Sie dies, um Mausdruckereignisse zu behandeln (ev).
Siehe auch mouseReleaseEvent().
[virtual protected]
void QWindow::mouseReleaseEvent(QMouseEvent *ev)
Überschreiben Sie dies, um Mausfreigabeereignisse zu behandeln (ev).
Siehe auch mousePressEvent().
[virtual protected]
void QWindow::moveEvent(QMoveEvent *ev)
Überschreiben Sie dies, um Fensterbewegungsereignisse zu behandeln (ev).
[virtual protected]
bool QWindow::nativeEvent(const QByteArray &eventType, void *message, qintptr *result)
Überschreiben Sie dies, um plattformabhängige Ereignisse zu behandeln. Sie erhalten eventType, message und result.
Dies könnte Ihre Anwendung nicht portabel machen.
Sollte nur true zurückgeben, wenn das Ereignis behandelt wurde.
[virtual protected, since 6.0]
void QWindow::paintEvent(QPaintEvent *ev)
Das Malereignis (ev) wird vom Fenstersystem immer dann gesendet, wenn ein Bereich des Fensters neu gezeichnet werden muss, z. B. beim erstmaligen Anzeigen des Fensters oder wenn Teile des Fensters durch das Verschieben eines anderen Fensters freigelegt wurden.
Von der Anwendung wird erwartet, dass sie als Reaktion auf das Malereignis in das Fenster rendert, unabhängig vom Zustand des Fensters. Beispielsweise kann ein paint-Ereignis gesendet werden, bevor das Fenster freigelegt wird, um es für die Anzeige für den Benutzer vorzubereiten.
Diese Funktion wurde in Qt 6.0 eingeführt.
Siehe auch exposeEvent().
QWindow *QWindow::parent(QWindow::AncestorMode mode = ExcludeTransients) const
Gibt das übergeordnete Fenster zurück, falls vorhanden.
Wenn mode IncludeTransients ist, wird das transiente übergeordnete Fenster zurückgegeben, wenn es kein übergeordnetes Fenster gibt.
Ein Fenster ohne Elternteil wird als übergeordnetes Fenster bezeichnet.
Siehe auch setParent().
QPoint QWindow::position() const
Gibt die Position des Fensters auf dem Desktop zurück, ohne Berücksichtigung eines Fensterrahmens
Hinweis: Nicht alle Windowing-Systeme unterstützen das Setzen oder Abfragen von Fensterpositionen auf oberster Ebene. Auf einem solchen System hat das programmatische Verschieben von Fenstern möglicherweise keinen Effekt, und es können künstliche Werte für die aktuellen Positionen zurückgegeben werden, wie z. B. QPoint(0, 0)
.
Siehe auch setPosition().
[slot]
void QWindow::raise()
Hebt das Fenster im Fenstersystem an.
Verlangt, dass das Fenster angehoben wird, damit es über anderen Fenstern erscheint.
[slot]
void QWindow::requestActivate()
Fordert das Fenster auf, aktiviert zu werden, d. h. den Tastaturfokus zu erhalten.
Siehe auch isActive() und QGuiApplication::focusWindow().
[slot]
void QWindow::requestUpdate()
Plant ein QEvent::UpdateRequest -Ereignis, das an dieses Fenster übermittelt wird.
Das Ereignis wird auf Plattformen, auf denen dies möglich ist, synchron mit der Anzeige vsync zugestellt. Andernfalls wird das Ereignis mit einer Verzögerung von höchstens 5 ms ausgelöst. Wenn der zugehörige Bildschirm des Fensters eine refresh rate von mehr als 60 Hz meldet, wird das Intervall auf einen Wert kleiner als 5 herabgesenkt. Die zusätzliche Zeit dient dazu, der Ereignisschleife ein wenig Leerlaufzeit zum Sammeln von Systemereignissen zu geben, und kann mit der Umgebungsvariablen QT_QPA_UPDATE_IDLE_TIME überschrieben werden.
Bei der Steuerung von Animationen sollte diese Funktion einmal aufgerufen werden, nachdem das Zeichnen abgeschlossen ist. Ein mehrfacher Aufruf dieser Funktion führt dazu, dass ein einziges Ereignis an das Fenster geliefert wird.
Unterklassen von QWindow sollten event() neu implementieren, das Ereignis abfangen und den Rendering-Code der Anwendung aufrufen, dann die Implementierung der Basisklasse aufrufen.
Hinweis: Die Reimplementierung von event() durch die Unterklasse muss die Implementierung der Basisklasse aufrufen, es sei denn, sie ist absolut sicher, dass das Ereignis nicht von der Basisklasse behandelt werden muss. Die Standardimplementierung dieser Funktion stützt sich zum Beispiel auf QEvent::Timer Ereignisse. Das Wegfiltern dieser Ereignisse würde daher die Zustellung der Aktualisierungsereignisse unterbrechen.
QSurfaceFormat QWindow::requestedFormat() const
Gibt das angeforderte Oberflächenformat dieses Fensters zurück.
Wenn das angeforderte Format von der Plattformimplementierung nicht unterstützt wird, weicht das angeforderteFormat vom tatsächlichen Fensterformat ab.
Dies ist der mit setFormat() gesetzte Wert.
Siehe auch setFormat() und format().
void QWindow::resize(const QSize &newSize)
setzen Sie die Größe des Fensters, ohne Berücksichtigung des Fensterrahmens, auf newSize
Siehe auch size() und geometry().
void QWindow::resize(int w, int h)
setzt die Größe des Fensters, ohne Berücksichtigung des Fensterrahmens, auf eine QSize, die aus Breite w und Höhe h
Zur interaktiven Größenänderung von Fenstern siehe startSystemResize().
Siehe auch size() und geometry().
[virtual protected]
void QWindow::resizeEvent(QResizeEvent *ev)
Überschreiben Sie dies, um Größenänderungsereignisse zu behandeln (ev).
Das Resize-Ereignis wird immer dann aufgerufen, wenn die Größe des Fensters im Fenstersystem geändert wird, entweder direkt durch das Fenstersystem, das eine setGeometry() oder resize()-Anforderung bestätigt, oder indirekt durch den Benutzer, der die Größe des Fensters manuell ändert.
QScreen *QWindow::screen() const
Gibt den Bildschirm zurück, auf dem das Fenster angezeigt wird, oder null, wenn es keinen gibt.
Bei untergeordneten Fenstern wird der Bildschirm des entsprechenden Fensters der obersten Ebene zurückgegeben.
Siehe auch setScreen() und QScreen::virtualSiblings().
[signal]
void QWindow::screenChanged(QScreen *screen)
Dieses Signal wird ausgegeben, wenn sich der screen eines Fensters ändert, entweder durch explizites Setzen mit setScreen(), oder automatisch, wenn der Bildschirm des Fensters entfernt wird.
void QWindow::setBaseSize(const QSize &size)
Legt die Basisgröße size des Fensters fest.
Die Basisgröße wird zur Berechnung der richtigen Fenstergröße verwendet, wenn das Fenster sizeIncrement() definiert.
Siehe auch setMinimumSize(), setMaximumSize(), setSizeIncrement(), und baseSize().
void QWindow::setCursor(const QCursor &cursor)
die Form des Cursors für dieses Fenster festlegen
Die Maus cursor nimmt diese Form an, wenn sie sich über diesem Fenster befindet, es sei denn, es ist ein Override-Cursor eingestellt. Siehe list of predefined cursor objects für eine Reihe von nützlichen Formen.
Wenn kein Cursor gesetzt wurde, oder nach einem Aufruf von unsetCursor(), wird der Cursor des Elternfensters verwendet.
Standardmäßig hat der Cursor die Form Qt::ArrowCursor.
Einige zugrundeliegende Fensterimplementierungen setzen den Cursor zurück, wenn er ein Fenster verlässt, auch wenn die Maus gegriffen wird. Wenn Sie einen Cursor für alle Fenster setzen wollen, auch wenn er außerhalb des Fensters ist, sollten Sie QGuiApplication::setOverrideCursor() in Betracht ziehen.
Siehe auch cursor() und QGuiApplication::setOverrideCursor().
void QWindow::setFilePath(const QString &filePath)
den Dateinamen festlegen, den dieses Fenster darstellt.
Das Fenstersystem kann filePath verwenden, um den Pfad des Dokuments, das dieses Fenster darstellt, in der Kachelleiste anzuzeigen.
Siehe auch filePath().
void QWindow::setFlag(Qt::WindowType flag, bool on = true)
Setzt das Fensterflag flag für dieses Fenster, wenn on wahr ist; andernfalls wird das Flag gelöscht.
Siehe auch setFlags(), flags(), und type().
void QWindow::setFormat(const QSurfaceFormat &format)
Legt die Oberfläche des Fensters format fest.
Das Format bestimmt Eigenschaften wie Farbtiefe, Alpha, Tiefe und Schablonenpuffergröße usw. Zum Beispiel, um einem Fenster einen transparenten Hintergrund zu geben (vorausgesetzt, das Fenstersystem unterstützt Compositing, und vorausgesetzt, andere Inhalte im Fenster machen es nicht wieder undurchsichtig):
QSurfaceFormat format; format.setAlphaBufferSize(8); window.setFormat(format);
Das Oberflächenformat wird in der Funktion create() aufgelöst. Der Aufruf dieser Funktion, nachdem create() aufgerufen wurde, löst das Oberflächenformat der nativen Oberfläche nicht erneut auf.
Wenn das Format nicht explizit über diese Funktion festgelegt wird, wird das von QSurfaceFormat::defaultFormat() zurückgegebene Format verwendet. Das bedeutet, dass bei mehreren Fenstern die einzelnen Aufrufe dieser Funktion durch einen einzigen Aufruf von QSurfaceFormat::setDefaultFormat() ersetzt werden können, bevor das erste Fenster erzeugt wird.
Siehe auch format(), create(), destroy(), und QSurfaceFormat::setDefaultFormat().
void QWindow::setFramePosition(const QPoint &point)
Setzt die obere linke Position des Fensters (point) einschließlich seines Fensterrahmens.
Die Position bezieht sich auf die virtualGeometry() des Bildschirms.
Siehe auch framePosition(), setGeometry(), und frameGeometry().
[slot]
void QWindow::setGeometry(const QRect &rect)
Setzt die Geometrie des Fensters mit Ausnahme seines Fensterrahmens auf rect.
Die Geometrie bezieht sich auf die virtualGeometry() des Bildschirms.
Siehe auch geometry().
[slot]
void QWindow::setGeometry(int posx, int posy, int w, int h)
Setzt die Geometrie des Fensters, mit Ausnahme seines Fensterrahmens, auf ein Rechteck, das aus posx, posy, w und h konstruiert wird.
Die Geometrie bezieht sich auf die virtualGeometry() des Bildschirms.
Siehe auch geometry().
void QWindow::setIcon(const QIcon &icon)
Legt das icon des Fensters im Fenstersystem fest.
Das Fenstersymbol kann vom Fenstersystem z. B. zur Dekoration des Fensters und/oder in der Aufgabenumschaltung verwendet werden.
Hinweis: Unter macOS ist das Symbol in der Titelleiste des Fensters für Fenster gedacht, die Dokumente darstellen, und wird nur angezeigt, wenn auch ein Dateipfad festgelegt ist.
Siehe auch icon() und setFilePath().
bool QWindow::setKeyboardGrabEnabled(bool grab)
Legt fest, ob Keyboard-Grab aktiviert werden soll oder nicht (grab).
Wenn der Rückgabewert true ist, erhält das Fenster alle Tastenereignisse, bis setKeyboardGrabEnabled(false) aufgerufen wird; andere Fenster erhalten überhaupt keine Tastenereignisse. Mausereignisse sind nicht betroffen. Verwenden Sie setMouseGrabEnabled(), wenn Sie diese abfangen wollen.
Siehe auch setMouseGrabEnabled().
void QWindow::setMask(const QRegion ®ion)
Setzt die Maske des Fensters.
Die Maske ist ein Hinweis an das Fenstersystem, dass die Anwendung keine Maus- oder Berührungseingaben außerhalb des angegebenen Bereichs region empfangen möchte.
Der Fenstermanager kann entscheiden, ob er die Bereiche des Fensters, die nicht in der Maske enthalten sind, anzeigen will oder nicht, daher liegt es in der Verantwortung der Anwendung, die Bereiche, die nicht Teil der Maske sind, transparent zu machen.
Siehe auch mask().
void QWindow::setMaximumSize(const QSize &size)
Legt die maximale Größe des Fensters fest.
Dies ist ein Hinweis an den Fenstermanager, eine Größenänderung über die angegebene size hinaus zu verhindern.
Siehe auch setMinimumSize() und maximumSize().
void QWindow::setMinimumSize(const QSize &size)
Legt die Mindestgröße des Fensters fest.
Dies ist ein Hinweis an den Fenstermanager, eine Größenänderung unter die angegebene size zu verhindern.
Siehe auch setMaximumSize() und minimumSize().
bool QWindow::setMouseGrabEnabled(bool grab)
Legt fest, ob Mousegrab aktiviert werden soll oder nicht (grab).
Wenn der Rückgabewert true ist, erhält das Fenster alle Mausereignisse, bis setMouseGrabEnabled(false) aufgerufen wird; andere Fenster erhalten überhaupt keine Mausereignisse. Tastaturereignisse sind nicht betroffen. Verwenden Sie setKeyboardGrabEnabled(), wenn Sie diese abfangen wollen.
Siehe auch setKeyboardGrabEnabled().
void QWindow::setParent(QWindow *parent)
Setzt das parent Fenster. Dies führt dazu, dass das Fenstersystem den Ausschnitt des Fensters verwaltet, so dass es an das Fenster parent angehängt wird.
Wenn parent auf nullptr
gesetzt wird, wird das Fenster zu einem Fenster der obersten Ebene.
Wenn parent ein mit fromWinId() erstelltes Fenster ist, wird das aktuelle Fenster in parent eingebettet, sofern die Plattform dies unterstützt.
Siehe auch parent().
void QWindow::setPosition(const QPoint &pt)
setzt die Position des Fensters auf dem Desktop auf pt
Die Position bezieht sich auf die virtualGeometry() des Bildschirms.
Für das interaktive Verschieben von Fenstern, siehe startSystemMove(). Für die interaktive Größenänderung von Fenstern, siehe startSystemResize().
Hinweis: Nicht alle Windowing-Systeme unterstützen das Setzen oder Abfragen von Fensterpositionen auf oberster Ebene. Auf einem solchen System hat das programmatische Verschieben von Fenstern möglicherweise keinen Effekt, und es werden möglicherweise künstliche Werte für die aktuellen Positionen zurückgegeben, wie z. B. QPoint(0, 0)
.
Siehe auch position() und startSystemMove().
void QWindow::setPosition(int posx, int posy)
setzt die Position des Fensters auf dem Desktop auf posx, posy
Die Position bezieht sich auf die virtualGeometry() des Bildschirms.
Siehe auch position().
void QWindow::setScreen(QScreen *newScreen)
Legt den Bildschirm fest, auf dem das Fenster angezeigt werden soll.
Wenn das Fenster bereits erstellt wurde, wird es auf newScreen neu erstellt.
Hinweis: Wenn der Bildschirm Teil eines virtuellen Desktops mit mehreren Bildschirmen ist, wird das Fenster nicht automatisch auf newScreen verschoben. Um das Fenster relativ zum Bildschirm zu platzieren, verwenden Sie die topLeft()-Position des Bildschirms.
Diese Funktion funktioniert nur für Fenster der obersten Ebene.
Siehe auch screen() und QScreen::virtualSiblings().
void QWindow::setSizeIncrement(const QSize &size)
Legt die Größenerhöhung (size) des Fensters fest.
Wenn der Benutzer die Größe des Fensters ändert, wird die Größe in Schritten von sizeIncrement().width() Pixeln horizontal und sizeIncrement().height() Pixeln vertikal verschoben, mit baseSize() als Basis.
Standardmäßig enthält diese Eigenschaft eine Größe mit der Breite und Höhe Null.
Das Fenstersystem unterstützt möglicherweise keine Größeninkremente.
Siehe auch sizeIncrement(), setBaseSize(), setMinimumSize(), und setMaximumSize().
void QWindow::setSurfaceType(QSurface::SurfaceType surfaceType)
Legt die surfaceType des Fensters fest.
Gibt an, ob das Fenster für das Raster-Rendering mit QBackingStore oder das OpenGL-Rendering mit QOpenGLContext gedacht ist.
Die surfaceType wird verwendet, wenn die native Oberfläche mit der Funktion create() erstellt wird. Der Aufruf dieser Funktion, nachdem die native Oberfläche erstellt wurde, erfordert den Aufruf von destroy() und create(), um die alte native Oberfläche freizugeben und eine neue zu erstellen.
Siehe auch surfaceType(), QBackingStore, QOpenGLContext, create(), und destroy().
void QWindow::setVulkanInstance(QVulkanInstance *instance)
Verknüpft dieses Fenster mit dem angegebenen Vulkan instance.
instance muss so lange gültig bleiben, wie diese QWindow Instanz existiert.
Siehe auch vulkanInstance().
void QWindow::setWindowState(Qt::WindowState state)
den Bildschirmbelegungsstatus des Fensters festlegen
Das Fenster state gibt an, ob das Fenster im Fenstersystem als maximiert, minimiert, bildschirmfüllend oder normal erscheint.
Der Enum-Wert Qt::WindowActive ist kein akzeptierter Parameter.
Siehe auch windowState(), showNormal(), showFullScreen(), showMinimized(), showMaximized(), und setWindowStates().
void QWindow::setWindowStates(Qt::WindowStates state)
den Bildschirmbelegungsstatus des Fensters festlegen
Das Fenster state zeigt an, ob das Fenster im Fenstersystem als maximiert, minimiert und/oder bildschirmfüllend erscheint.
Das Fenster kann sich in einer Kombination aus mehreren Zuständen befinden. Wenn das Fenster beispielsweise sowohl minimiert als auch maximiert ist, erscheint das Fenster minimiert, aber ein Klick auf den Eintrag in der Taskleiste bringt es wieder in den maximierten Zustand.
Der Enum-Wert Qt::WindowActive sollte nicht gesetzt werden.
Siehe auch windowStates(), showNormal(), showFullScreen(), showMinimized(), und showMaximized().
[slot]
void QWindow::show()
Zeigt das Fenster an.
Bei untergeordneten Fenstern ist dies gleichbedeutend mit dem Aufruf von showNormal(). Andernfalls ist es gleichbedeutend mit dem Aufruf von showFullScreen(), showMaximized() oder showNormal(), je nach dem Standardverhalten der Plattform für den Fenstertyp und die Flags.
Siehe auch showFullScreen(), showMaximized(), showNormal(), hide(), QStyleHints::showIsFullScreen(), und flags().
[virtual protected]
void QWindow::showEvent(QShowEvent *ev)
Überschreiben Sie diese Funktion, um Show-Ereignisse zu behandeln (ev).
Die Funktion wird aufgerufen, wenn das Fenster angefordert hat, sichtbar zu werden.
Wenn das Fenster erfolgreich vom Fenstersystem angezeigt wird, folgen ein Resize- und ein Expose-Ereignis.
[slot]
void QWindow::showFullScreen()
Zeigt das Fenster im Vollbildmodus an.
Entspricht dem Aufruf von setWindowStates(Qt::WindowFullScreen) und dann setVisible(true).
Siehe die Dokumentation QWidget::showFullScreen() für plattformspezifische Überlegungen und Einschränkungen.
Siehe auch setWindowStates() und setVisible().
[slot]
void QWindow::showMaximized()
Zeigt das Fenster in maximierter Form an.
Entspricht dem Aufruf von setWindowStates(Qt::WindowMaximized) und dann setVisible(true).
Siehe auch setWindowStates() und setVisible().
[slot]
void QWindow::showMinimized()
Zeigt das Fenster als minimiert an.
Entspricht dem Aufruf von setWindowStates(Qt::WindowMinimized) und dann setVisible(true).
Siehe auch setWindowStates() und setVisible().
[slot]
void QWindow::showNormal()
Zeigt das Fenster normal an, d. h. weder maximiert, minimiert noch im Vollbildmodus.
Entspricht dem Aufruf von setWindowStates(Qt::WindowNoState) und dann setVisible(true).
Siehe auch setWindowStates() und setVisible().
[override virtual]
QSize QWindow::size() const
Reimplements: QSurface::size() const.
Liefert die Größe des Fensters ohne Berücksichtigung eines Fensterrahmens.
Siehe auch resize().
QSize QWindow::sizeIncrement() const
Gibt das Größeninkrement des Fensters zurück.
Siehe auch setSizeIncrement().
[slot]
bool QWindow::startSystemMove()
Start einer systemspezifischen Verschiebeoperation
Der Aufruf dieses Befehls startet einen interaktiven Verschiebevorgang für das Fenster auf Plattformen, die dies unterstützen. Das tatsächliche Verhalten kann je nach Plattform variieren. Normalerweise wird das Fenster dem Mauszeiger folgen, bis eine Maustaste losgelassen wird.
Auf Plattformen, die dies unterstützen, wird diese Methode zum Verschieben von Fenstern gegenüber setPosition
bevorzugt, da sie ein nativeres Aussehen und Verhalten beim Verschieben von Fenstern ermöglicht, z. B. das Einrasten des Fenstermanagers an anderen Fenstern oder ein spezielles Kachel- oder Größenänderungsverhalten mit Animationen, wenn das Fenster an den Rand des Bildschirms gezogen wird. Außerdem wird auf einigen Plattformen wie Wayland setPosition
nicht unterstützt, so dass dies die einzige Möglichkeit für die Anwendung ist, ihre Position zu beeinflussen.
Gibt true zurück, wenn der Vorgang vom System unterstützt wurde.
[slot]
bool QWindow::startSystemResize(Qt::Edges edges)
Start einer systemspezifischen Größenänderung
Ein Aufruf dieser Funktion startet eine interaktive Größenänderung des Fensters auf Plattformen, die dies unterstützen. Das tatsächliche Verhalten kann je nach Plattform variieren. Normalerweise wird die Größe des Fensters so angepasst, dass der Rand dem Mauszeiger folgt.
Auf Plattformen, die dies unterstützen, wird diese Methode der Größenänderung von Fenstern gegenüber setGeometry
bevorzugt, da sie ein nativeres Aussehen und Gefühl bei der Größenänderung von Fenstern ermöglicht, z. B. das Einrasten des Fenstermanagers an anderen Fenstern oder ein spezielles Größenänderungsverhalten mit Animationen, wenn das Fenster an den Rand des Bildschirms gezogen wird.
edges sollte entweder eine einzelne Kante oder zwei benachbarte Kanten (eine Ecke) sein. Andere Werte sind nicht erlaubt.
Gibt true zurück, wenn die Operation vom System unterstützt wurde.
[override virtual]
QSurface::SurfaceType QWindow::surfaceType() const
Reimplements: QSurface::surfaceType() const.
Gibt den Oberflächentyp des Fensters zurück.
Siehe auch setSurfaceType().
[virtual protected]
void QWindow::tabletEvent(QTabletEvent *ev)
Überschreiben Sie diese Funktion, um Ereignisse beim Drücken, Bewegen und Loslassen des Tablets zu behandeln (ev).
Proximity-Eintritts- und Austrittsereignisse werden nicht an Fenster gesendet, sondern an die Anwendungsinstanz.
[virtual protected]
void QWindow::touchEvent(QTouchEvent *ev)
Überschreiben Sie dies, um Berührungsereignisse zu behandeln (ev).
Qt::WindowType QWindow::type() const
Gibt den Typ des Fensters zurück.
Dies gibt den Teil der Fensterkennzeichen zurück, der angibt, ob es sich um ein Dialogfenster, ein Tooltip-Fenster, ein Popup-Fenster, ein normales Fenster usw. handelt.
Siehe auch flags() und setFlags().
void QWindow::unsetCursor()
Stellt den Standard-Pfeilcursor für dieses Fenster wieder her.
QVulkanInstance *QWindow::vulkanInstance() const
Gibt die zugehörige Vulkan-Instanz zurück, falls eine gesetzt wurde, ansonsten nullptr
.
Siehe auch setVulkanInstance().
[virtual protected]
void QWindow::wheelEvent(QWheelEvent *ev)
Überschreiben Sie dies, um Mausrad- oder andere Rad-Ereignisse zu behandeln (ev).
WId QWindow::winId() const
Gibt die Plattform-ID des Fensters zurück.
Hinweis: Diese Funktion bewirkt, dass das Plattformfenster erstellt wird, wenn es noch nicht vorhanden ist. Gibt 0 zurück, wenn die Erstellung des Plattformfensters fehlgeschlagen ist.
Für Plattformen, bei denen diese ID nützlich sein könnte, wird der zurückgegebene Wert das Fenster innerhalb des entsprechenden Bildschirms eindeutig repräsentieren.
Siehe auch screen().
Qt::WindowState QWindow::windowState() const
der Bildschirmbelegungsstatus des Fensters
Siehe auch setWindowState() und windowStates().
[signal]
void QWindow::windowStateChanged(Qt::WindowState windowState)
Dieses Signal wird ausgegeben, wenn sich die windowState ändert, entweder durch explizites Setzen mit setWindowStates() oder automatisch, wenn der Benutzer auf eine der Schaltflächen in der Titelleiste klickt oder auf andere Weise.
Qt::WindowStates QWindow::windowStates() const
den Zustand des Fensters, in dem es den Bildschirm belegt
Das Fenster kann sich in einer Kombination aus mehreren Zuständen befinden. Wenn das Fenster z. B. sowohl minimiert als auch maximiert ist, erscheint es minimiert, aber wenn Sie auf den Eintrag in der Taskleiste klicken, wird es wieder in den maximierten Zustand versetzt.
Siehe auch setWindowStates().
© 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.