QWaylandOutput Class

Die Klasse QWaylandOutput repräsentiert einen anzeigbaren Bereich, der vom Compositor verwaltet wird. Mehr...

Kopfzeile: #include <QWaylandOutput>
CMake: find_package(Qt6 REQUIRED COMPONENTS WaylandCompositor)
target_link_libraries(mytarget PRIVATE Qt6::WaylandCompositor)
qmake: QT += waylandcompositor
In QML: WaylandOutput
Vererbt: QWaylandObject

Öffentliche Typen

enum Subpixel { SubpixelUnknown, SubpixelNone, SubpixelHorizontalRgb, SubpixelHorizontalBgr, SubpixelVerticalRgb, SubpixelVerticalBgr }
enum Transform { TransformNormal, Transform90, Transform180, Transform270, TransformFlipped, …, TransformFlipped270 }

Eigenschaften

Öffentliche Funktionen

QWaylandOutput(QWaylandCompositor *compositor, QWindow *window)
virtual ~QWaylandOutput() override
void addMode(const QWaylandOutputMode &mode, bool preferred = false)
QRect availableGeometry() const
QWaylandCompositor *compositor() const
QWaylandOutputMode currentMode() const
void frameStarted()
QRect geometry() const
QString manufacturer() const
QString model() const
QList<QWaylandOutputMode> modes() const
QSize physicalSize() const
QPoint position() const
int scaleFactor() const
void sendFrameCallbacks()
void setAvailableGeometry(const QRect &availableGeometry)
void setCurrentMode(const QWaylandOutputMode &mode)
void setManufacturer(const QString &manufacturer)
void setModel(const QString &model)
void setPhysicalSize(const QSize &size)
void setPosition(const QPoint &pt)
void setScaleFactor(int scale)
void setSizeFollowsWindow(bool follow)
void setSubpixel(const QWaylandOutput::Subpixel &subpixel)
void setTransform(const QWaylandOutput::Transform &transform)
void setWindow(QWindow *window)
bool sizeFollowsWindow() const
QWaylandOutput::Subpixel subpixel() const
QWaylandOutput::Transform transform() const
virtual void update()
QWindow *window() const

Signale

Statische öffentliche Mitglieder

QWaylandOutput *fromResource(wl_resource *resource)

Detaillierte Beschreibung

Der QWaylandOutput verwaltet einen rechteckigen Bereich innerhalb der Geometrie des Compositors, um ihn für die Anzeige von Client-Inhalten zu verwenden. Dies könnte z.B. ein Bildschirm sein, der vom WaylandCompositor verwaltet wird.

Die Klasse entspricht der Schnittstelle wl_output im Wayland-Protokoll.

Dokumentation der Mitgliedstypen

enum QWaylandOutput::Subpixel

Dieser Enum-Typ wird verwendet, um die Subpixel-Anordnung eines QWaylandOutput anzugeben.

KonstanteWertBeschreibung
QWaylandOutput::SubpixelUnknown0Die Subpixel-Anordnung ist nicht festgelegt.
QWaylandOutput::SubpixelNone1Es gibt keine Subpixel.
QWaylandOutput::SubpixelHorizontalRgb2Die Subpixel sind horizontal in der Reihenfolge Rot, Grün, Blau angeordnet.
QWaylandOutput::SubpixelHorizontalBgr3Die Subpixel sind horizontal in der Reihenfolge blau, grün, rot angeordnet.
QWaylandOutput::SubpixelVerticalRgb4Die Subpixel sind vertikal in der Reihenfolge rot, grün, blau angeordnet.
QWaylandOutput::SubpixelVerticalBgr5Die Subpixel sind vertikal in der Reihenfolge blau, grün, rot angeordnet.

Siehe auch QWaylandOutput::subpixel.

enum QWaylandOutput::Transform

* * Dieser Enum-Typ wird verwendet, um die Ausrichtung eines QWaylandOutput anzugeben. * *

KonstanteWertBeschreibung
QWaylandOutput::TransformNormal0Die Ausrichtung ist normal. *
QWaylandOutput::Transform901Die Ausrichtung ist um 90 Grad gedreht. *
QWaylandOutput::Transform1802Die Ausrichtung ist um 180 Grad gedreht. *
QWaylandOutput::Transform2703Die Ausrichtung wird um 270 Grad gedreht. *
QWaylandOutput::TransformFlipped4Die Ausrichtung wird gespiegelt. *
QWaylandOutput::TransformFlipped905Die Ausrichtung ist gespiegelt und um 90 Grad gedreht. *
QWaylandOutput::TransformFlipped1806Die Ausrichtung wird gespiegelt und um 180 Grad gedreht. *
QWaylandOutput::TransformFlipped2707Die Ausrichtung wird gespiegelt und um 270 Grad gedreht. * *

Siehe auch QWaylandOutput::transform.

Eigenschaft Dokumentation

availableGeometry : QRect

Diese Eigenschaft enthält die Geometrie von QWaylandOutput, die für die Anzeige von Inhalten verfügbar ist. Die verfügbare Geometrie ist im Ausgabekoordinatenraum, beginnt bei 0,0 und ist standardmäßig so groß wie die Ausgabe.

Zugriffsfunktionen:

QRect availableGeometry() const
void setAvailableGeometry(const QRect &availableGeometry)

Benachrichtigungssignal:

void availableGeometryChanged()

Siehe auch QWaylandOutput::currentMode und QWaylandOutput::geometry.

[read-only] geometry : const QRect

Diese Eigenschaft enthält die Geometrie der QWaylandOutput.

Zugriffsfunktionen:

QRect geometry() const

Benachrichtigungssignal:

void geometryChanged()

Siehe auch QWaylandOutput::currentMode.

manufacturer : QString

Diese Eigenschaft enthält eine textuelle Beschreibung des Herstellers dieser QWaylandOutput.

Zugriffsfunktionen:

QString manufacturer() const
void setManufacturer(const QString &manufacturer)

Anmelder-Signal:

void manufacturerChanged()

model : QString

Diese Eigenschaft enthält eine textuelle Beschreibung des Modells dieser QWaylandOutput.

Zugriffsfunktionen:

QString model() const
void setModel(const QString &model)

Benachrichtigungssignal:

void modelChanged()

physicalSize : QSize

Diese Eigenschaft enthält die physikalische Größe der QWaylandOutput in Millimetern.

Zugriffsfunktionen:

QSize physicalSize() const
void setPhysicalSize(const QSize &size)

Benachrichtigungssignal:

void physicalSizeChanged()

Siehe auch QWaylandOutput::geometry und QWaylandOutput::currentMode.

position : QPoint

Diese Eigenschaft enthält die Position dieser QWaylandOutput im Koordinatensystem des Compositors.

Zugriffsfunktionen:

QPoint position() const
void setPosition(const QPoint &pt)

Benachrichtigungssignal:

void positionChanged()

scaleFactor : int

Diese Eigenschaft enthält den Faktor, mit dem QWaylandCompositor Oberflächenpuffer skaliert, bevor sie angezeigt werden. Dies wird bei Ausgabegeräten mit hoher Dichte verwendet, bei denen nicht skalierte Inhalte zu klein wären, um praktikabel zu sein. Der Client kann seinerseits den Skalierungsfaktor seines Puffers so einstellen, dass er mit der Ausgabe übereinstimmt, wenn er es vorzieht, hochauflösende Inhalte bereitzustellen, die für das Ausgabegerät geeignet sind.

Der Standardwert ist 1 (keine Skalierung).

Zugriffsfunktionen:

int scaleFactor() const
void setScaleFactor(int scale)

Benachrichtigungssignal:

void scaleFactorChanged()

sizeFollowsWindow : bool

Diese Eigenschaft steuert, ob die Größe von QWaylandOutput mit der Größe des Fensters übereinstimmt.

Wenn diese Eigenschaft true ist, werden alle zuvor hinzugefügten Modi durch einen Modus ersetzt, der der Fenstergröße und der Bildschirmaktualisierungsrate entspricht.

Der Standardwert ist false.

Zugriffsfunktionen:

bool sizeFollowsWindow() const
void setSizeFollowsWindow(bool follow)

Benachrichtigungssignal:

void sizeFollowsWindowChanged()

subpixel : QWaylandOutput::Subpixel

Diese Eigenschaft enthält die Subpixel-Anordnung dieser QWaylandOutput. Die Standardeinstellung ist QWaylandOutput::SubpixelUnknown.

Zugriffsfunktionen:

QWaylandOutput::Subpixel subpixel() const
void setSubpixel(const QWaylandOutput::Subpixel &subpixel)

Benachrichtigungssignal:

void subpixelChanged()

transform : QWaylandOutput::Transform

Diese Eigenschaft enthält die Transformation, die QWaylandCompositor auf eine Oberfläche anwendet, um die Ausrichtung der QWaylandOutput zu kompensieren.

Die Standardeinstellung ist QWaylandOutput::TransformNormal.

Zugriffsfunktionen:

QWaylandOutput::Transform transform() const
void setTransform(const QWaylandOutput::Transform &transform)

Melder-Signal:

void transformChanged()

window : QWindow*

Diese Eigenschaft enthält die QWindow für diese QWaylandOutput.

Zugriffsfunktionen:

QWindow *window() const
void setWindow(QWindow *window)

Benachrichtigungssignal:

void windowChanged()

Mitgliederfunktion Dokumentation

QWaylandOutput::QWaylandOutput(QWaylandCompositor *compositor, QWindow *window)

Konstruiert einen QWaylandOutput in compositor und mit dem angegebenen window. Die Funktion create() muss auf compositor aufgerufen werden, bevor ein QWaylandOutput für sie konstruiert wird.

Das QWaylandOutput-Objekt wird später, als Reaktion auf ein Ereignis, initialisiert. Zu diesem Zeitpunkt wird es als Ausgang für die compositor hinzugefügt. Wenn es das erste QWaylandOutput-Objekt ist, das für diese compositor erstellt wurde, wird es zur default output.

[override virtual noexcept] QWaylandOutput::~QWaylandOutput()

Zerstört die QWaylandOutput.

void QWaylandOutput::addMode(const QWaylandOutputMode &mode, bool preferred = false)

Fügt den Modus mode zur Ausgabe hinzu und markiert ihn als bevorzugt, wenn preferred true ist. Bitte beachten Sie, dass es nur einen bevorzugten Modus geben kann.

QWaylandCompositor *QWaylandOutput::compositor() const

Gibt den Compositor für diese QWaylandOutput zurück.

Hinweis: Getter-Funktion für die Eigenschaft compositor.

QWaylandOutputMode QWaylandOutput::currentMode() const

Gibt die Größe der Ausgabe in Pixeln und die Aktualisierungsrate in mHz zurück. Wenn der aktuelle Modus nicht festgelegt ist, wird ein ungültiger Modus zurückgegeben.

Siehe auch setCurrentMode(), QWaylandOutput::modes, und QWaylandOutputMode.

void QWaylandOutput::frameStarted()

Informiert QWaylandOutput, dass ein Frame begonnen hat.

[static] QWaylandOutput *QWaylandOutput::fromResource(wl_resource *resource)

Gibt die QWaylandOutput zurück, die der resource entspricht.

QList<QWaylandOutputMode> QWaylandOutput::modes() const

Gibt die Liste der Modi zurück.

void QWaylandOutput::sendFrameCallbacks()

Sendet anstehende Rahmenrückrufe.

void QWaylandOutput::setCurrentMode(const QWaylandOutputMode &mode)

Legt den aktuellen Modus fest. Der Modus mode muss zuvor hinzugefügt worden sein.

Siehe auch currentMode(), QWaylandOutput::modes, und QWaylandOutputMode.

[virtual] void QWaylandOutput::update()

Plant die Zustellung einer QEvent::UpdateRequest an den QWaylandOutput's window.

Siehe auch QWindow::requestUpdate().

© 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.