62class Q_GUI_EXPORT
QWindow :
public QObject,
public QSurface
65 Q_DECLARE_PRIVATE(QWindow)
77 Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY windowTitleChanged)
78 Q_PROPERTY(Qt::WindowModality modality READ modality WRITE setModality NOTIFY modalityChanged)
79 Q_PROPERTY(Qt::WindowFlags flags READ flags WRITE setFlags NOTIFY flagsChanged)
80 Q_PROPERTY(
int x READ x WRITE setX NOTIFY xChanged)
81 Q_PROPERTY(
int y READ y WRITE setY NOTIFY yChanged)
82 Q_PROPERTY(
int width READ width WRITE setWidth NOTIFY widthChanged)
83 Q_PROPERTY(
int height READ height WRITE setHeight NOTIFY heightChanged)
84 Q_PROPERTY(
int minimumWidth READ minimumWidth WRITE setMinimumWidth NOTIFY minimumWidthChanged)
85 Q_PROPERTY(
int minimumHeight READ minimumHeight WRITE setMinimumHeight
86 NOTIFY minimumHeightChanged)
87 Q_PROPERTY(
int maximumWidth READ maximumWidth WRITE setMaximumWidth NOTIFY maximumWidthChanged)
88 Q_PROPERTY(
int maximumHeight READ maximumHeight WRITE setMaximumHeight
89 NOTIFY maximumHeightChanged)
90 Q_PROPERTY(
bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged VIRTUAL)
91 Q_PROPERTY(
bool active READ isActive NOTIFY activeChanged REVISION(2, 1))
92 Q_PROPERTY(Visibility visibility READ visibility WRITE setVisibility NOTIFY visibilityChanged VIRTUAL REVISION(2, 1))
93 Q_PROPERTY(Qt::ScreenOrientation contentOrientation READ contentOrientation
94 WRITE reportContentOrientationChange NOTIFY contentOrientationChanged)
95 Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity NOTIFY opacityChanged REVISION(2, 1))
97 Q_PROPERTY(QWindow* transientParent READ transientParent WRITE setTransientParent NOTIFY transientParentChanged)
99 Q_PRIVATE_PROPERTY(QWindow::d_func(), QWindow* transientParent MEMBER transientParent
100 WRITE setTransientParent NOTIFY transientParentChanged REVISION(2, 13))
120 explicit QWindow(QScreen *screen =
nullptr);
121 explicit QWindow(QWindow *parent);
124 void setSurfaceType(SurfaceType surfaceType);
125 SurfaceType surfaceType()
const override;
127 bool isVisible()
const;
129 Visibility visibility()
const;
130 void setVisibility(Visibility v);
136 QWindow *parent(AncestorMode mode = ExcludeTransients)
const;
137 void setParent(QWindow *parent);
139 bool isTopLevel()
const;
141 bool isModal()
const;
142 Qt::WindowModality modality()
const;
143 void setModality(Qt::WindowModality modality);
145 void setFormat(
const QSurfaceFormat &format);
146 QSurfaceFormat format()
const override;
147 QSurfaceFormat requestedFormat()
const;
149 void setFlags(Qt::WindowFlags flags);
150 Qt::WindowFlags flags()
const;
151 void setFlag(Qt::WindowType,
bool on =
true);
152 Qt::WindowType type()
const;
154 QString title()
const;
156 void setOpacity(qreal level);
157 qreal opacity()
const;
159 void setMask(
const QRegion ®ion);
160 QRegion mask()
const;
162 bool isActive()
const;
164 void reportContentOrientationChange(Qt::ScreenOrientation orientation);
165 Qt::ScreenOrientation contentOrientation()
const;
167 qreal devicePixelRatio()
const;
169 Qt::WindowState windowState()
const;
170 Qt::WindowStates windowStates()
const;
171 void setWindowState(Qt::WindowState state);
172 void setWindowStates(Qt::WindowStates states);
174 void setTransientParent(QWindow *parent);
175 QWindow *transientParent()
const;
177 bool isAncestorOf(
const QWindow *child, AncestorMode mode = IncludeTransients)
const;
179 bool isExposed()
const;
181 inline int minimumWidth()
const {
return minimumSize().width(); }
182 inline int minimumHeight()
const {
return minimumSize().height(); }
183 inline int maximumWidth()
const {
return maximumSize().width(); }
184 inline int maximumHeight()
const {
return maximumSize().height(); }
186 QSize minimumSize()
const;
187 QSize maximumSize()
const;
188 QSize baseSize()
const;
189 QSize sizeIncrement()
const;
191 void setMinimumSize(
const QSize &size);
192 void setMaximumSize(
const QSize &size);
193 void setBaseSize(
const QSize &size);
194 void setSizeIncrement(
const QSize &size);
196 QRect geometry()
const;
198 QMargins frameMargins()
const;
199 QRect frameGeometry()
const;
201 QPoint framePosition()
const;
202 void setFramePosition(
const QPoint &point);
204 QMargins safeAreaMargins()
const;
206 inline int width()
const {
return geometry().width(); }
207 inline int height()
const {
return geometry().height(); }
208 inline int x()
const {
return geometry().x(); }
209 inline int y()
const {
return geometry().y(); }
211 QSize size()
const override {
return geometry().size(); }
212 inline QPoint position()
const {
return geometry().topLeft(); }
214 void setPosition(
const QPoint &pt);
215 void setPosition(
int posx,
int posy);
217 void resize(
const QSize &newSize);
218 void resize(
int w,
int h);
220 void setFilePath(
const QString &filePath);
221 QString filePath()
const;
223 void setIcon(
const QIcon &icon);
228 QPlatformWindow *handle()
const;
230 bool setKeyboardGrabEnabled(
bool grab);
231 bool setMouseGrabEnabled(
bool grab);
233 QScreen *screen()
const;
234 void setScreen(QScreen *screen);
236 virtual QAccessibleInterface *accessibleRoot()
const;
237 virtual QObject *focusObject()
const;
239 QPointF mapToGlobal(
const QPointF &pos)
const;
240 QPointF mapFromGlobal(
const QPointF &pos)
const;
241 QPoint mapToGlobal(
const QPoint &pos)
const;
242 QPoint mapFromGlobal(
const QPoint &pos)
const;
245 QCursor cursor()
const;
246 void setCursor(
const QCursor &);
250 static QWindow *fromWinId(WId id);
252#if QT_CONFIG(vulkan) || defined(Q_QDOC)
253 void setVulkanInstance(QVulkanInstance *instance);
254 QVulkanInstance *vulkanInstance()
const;
257 QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QWindow)
260 Q_REVISION(2, 1)
void requestActivate();
262 void setVisible(
bool visible);
267 void showMinimized();
268 void showMaximized();
269 void showFullScreen();
275 bool startSystemResize(Qt::Edges edges);
276 bool startSystemMove();
278 void setTitle(
const QString &);
282 void setWidth(
int arg);
283 void setHeight(
int arg);
284 void setGeometry(
int posx,
int posy,
int w,
int h);
285 void setGeometry(
const QRect &rect);
287 void setMinimumWidth(
int w);
288 void setMinimumHeight(
int h);
289 void setMaximumWidth(
int w);
290 void setMaximumHeight(
int h);
292 Q_REVISION(2, 1)
void alert(
int msec);
294 Q_REVISION(2, 3)
void requestUpdate();
297 void screenChanged(QScreen *screen);
298 void modalityChanged(Qt::WindowModality modality);
299 Q_REVISION(6, 10)
void flagsChanged(Qt::WindowFlags flags);
300 void windowStateChanged(Qt::WindowState windowState);
301 Q_REVISION(2, 2)
void windowTitleChanged(
const QString &title);
303 void xChanged(
int arg);
304 void yChanged(
int arg);
306 void widthChanged(
int arg);
307 void heightChanged(
int arg);
309 void minimumWidthChanged(
int arg);
310 void minimumHeightChanged(
int arg);
311 void maximumWidthChanged(
int arg);
312 void maximumHeightChanged(
int arg);
314 Q_REVISION(6, 9)
void safeAreaMarginsChanged(QMargins arg);
316 void visibleChanged(
bool arg);
317 Q_REVISION(2, 1)
void visibilityChanged(QWindow::Visibility visibility);
318 Q_REVISION(2, 1)
void activeChanged();
319 void contentOrientationChanged(Qt::ScreenOrientation orientation);
321 void focusObjectChanged(QObject *object);
323 Q_REVISION(2, 1)
void opacityChanged(qreal opacity);
325 Q_REVISION(2, 13)
void transientParentChanged(QWindow *transientParent);
328 virtual void exposeEvent(QExposeEvent *);
329 virtual void resizeEvent(QResizeEvent *);
330 virtual void paintEvent(QPaintEvent *);
331 virtual void moveEvent(QMoveEvent *);
332 virtual void focusInEvent(QFocusEvent *);
333 virtual void focusOutEvent(QFocusEvent *);
335 virtual void showEvent(QShowEvent *);
336 virtual void hideEvent(QHideEvent *);
337 virtual void closeEvent(QCloseEvent *);
339 virtual bool event(QEvent *) override;
340 virtual void keyPressEvent(QKeyEvent *);
341 virtual void keyReleaseEvent(QKeyEvent *);
342 virtual void mousePressEvent(QMouseEvent *);
343 virtual void mouseReleaseEvent(QMouseEvent *);
344 virtual void mouseDoubleClickEvent(QMouseEvent *);
345 virtual void mouseMoveEvent(QMouseEvent *);
346#if QT_CONFIG(wheelevent)
347 virtual void wheelEvent(QWheelEvent *);
349 virtual void touchEvent(QTouchEvent *);
350#if QT_CONFIG(tabletevent)
351 virtual void tabletEvent(QTabletEvent *);
353 virtual bool nativeEvent(
const QByteArray &eventType,
void *message, qintptr *result);
355 QWindow(QWindowPrivate &dd, QWindow *parent);
358 Q_PRIVATE_SLOT(d_func(),
void _q_clearAlert())
359 QPlatformSurface *surfaceHandle()
const override;
361 Q_DISABLE_COPY(QWindow)
363 friend class QGuiApplication;
364 friend class QGuiApplicationPrivate;
365 friend class QWindowContainer;
366 friend Q_GUI_EXPORT QWindowPrivate *qt_window_private(QWindow *window);