63class Q_GUI_EXPORT
QWindow :
public QObject,
public QSurface
66 Q_DECLARE_PRIVATE(QWindow)
78 Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY windowTitleChanged)
79 Q_PROPERTY(Qt::WindowModality modality READ modality WRITE setModality NOTIFY modalityChanged)
80 Q_PROPERTY(Qt::WindowFlags flags READ flags WRITE setFlags NOTIFY flagsChanged)
81 Q_PROPERTY(
int x READ x WRITE setX NOTIFY xChanged)
82 Q_PROPERTY(
int y READ y WRITE setY NOTIFY yChanged)
83 Q_PROPERTY(
int width READ width WRITE setWidth NOTIFY widthChanged)
84 Q_PROPERTY(
int height READ height WRITE setHeight NOTIFY heightChanged)
85 Q_PROPERTY(
int minimumWidth READ minimumWidth WRITE setMinimumWidth NOTIFY minimumWidthChanged)
86 Q_PROPERTY(
int minimumHeight READ minimumHeight WRITE setMinimumHeight
87 NOTIFY minimumHeightChanged)
88 Q_PROPERTY(
int maximumWidth READ maximumWidth WRITE setMaximumWidth NOTIFY maximumWidthChanged)
89 Q_PROPERTY(
int maximumHeight READ maximumHeight WRITE setMaximumHeight
90 NOTIFY maximumHeightChanged)
91 Q_PROPERTY(
bool visible READ isVisible WRITE setVisible NOTIFY visibleChanged VIRTUAL)
92 Q_PROPERTY(
bool active READ isActive NOTIFY activeChanged REVISION(2, 1))
93 Q_PROPERTY(Visibility visibility READ visibility WRITE setVisibility NOTIFY visibilityChanged VIRTUAL REVISION(2, 1))
94 Q_PROPERTY(Qt::ScreenOrientation contentOrientation READ contentOrientation
95 WRITE reportContentOrientationChange NOTIFY contentOrientationChanged)
96 Q_PROPERTY(qreal opacity READ opacity WRITE setOpacity NOTIFY opacityChanged REVISION(2, 1))
98 Q_PROPERTY(QWindow* transientParent READ transientParent WRITE setTransientParent NOTIFY transientParentChanged)
100 Q_PRIVATE_PROPERTY(QWindow::d_func(), QWindow* transientParent MEMBER transientParent
101 WRITE setTransientParent NOTIFY transientParentChanged REVISION(2, 13))
121 explicit QWindow(QScreen *screen =
nullptr);
122 explicit QWindow(QWindow *parent);
125 void setSurfaceType(SurfaceType surfaceType);
126 SurfaceType surfaceType()
const override;
128 bool isVisible()
const;
130 Visibility visibility()
const;
131 void setVisibility(Visibility v);
137 QWindow *parent(AncestorMode mode = ExcludeTransients)
const;
138 void setParent(QWindow *parent);
140 bool isTopLevel()
const;
142 bool isModal()
const;
143 Qt::WindowModality modality()
const;
144 void setModality(Qt::WindowModality modality);
146 void setFormat(
const QSurfaceFormat &format);
147 QSurfaceFormat format()
const override;
148 QSurfaceFormat requestedFormat()
const;
150 void setFlags(Qt::WindowFlags flags);
151 Qt::WindowFlags flags()
const;
152 void setFlag(Qt::WindowType,
bool on =
true);
153 Qt::WindowType type()
const;
155 QString title()
const;
157 void setOpacity(qreal level);
158 qreal opacity()
const;
160 void setMask(
const QRegion ®ion);
161 QRegion mask()
const;
163 bool isActive()
const;
165 void reportContentOrientationChange(Qt::ScreenOrientation orientation);
166 Qt::ScreenOrientation contentOrientation()
const;
168 qreal devicePixelRatio()
const;
170 Qt::WindowState windowState()
const;
171 Qt::WindowStates windowStates()
const;
172 void setWindowState(Qt::WindowState state);
173 void setWindowStates(Qt::WindowStates states);
175 void setTransientParent(QWindow *parent);
176 QWindow *transientParent()
const;
178 bool isAncestorOf(
const QWindow *child, AncestorMode mode = IncludeTransients)
const;
180 bool isExposed()
const;
182 inline int minimumWidth()
const {
return minimumSize().width(); }
183 inline int minimumHeight()
const {
return minimumSize().height(); }
184 inline int maximumWidth()
const {
return maximumSize().width(); }
185 inline int maximumHeight()
const {
return maximumSize().height(); }
187 QSize minimumSize()
const;
188 QSize maximumSize()
const;
189 QSize baseSize()
const;
190 QSize sizeIncrement()
const;
192 void setMinimumSize(
const QSize &size);
193 void setMaximumSize(
const QSize &size);
194 void setBaseSize(
const QSize &size);
195 void setSizeIncrement(
const QSize &size);
197 QRect geometry()
const;
199 QMargins frameMargins()
const;
200 QRect frameGeometry()
const;
202 QPoint framePosition()
const;
203 void setFramePosition(
const QPoint &point);
204 void setFramePosition(
int x,
int y)
205 { setFramePosition(QPoint(x, y)); }
207 QMargins safeAreaMargins()
const;
209 inline int width()
const {
return geometry().width(); }
210 inline int height()
const {
return geometry().height(); }
211 inline int x()
const {
return geometry().x(); }
212 inline int y()
const {
return geometry().y(); }
214 QSize size()
const override {
return geometry().size(); }
215 inline QPoint position()
const {
return geometry().topLeft(); }
217 void setPosition(
const QPoint &pt);
218 void setPosition(
int posx,
int posy);
220 void resize(
const QSize &newSize);
221 void resize(
int w,
int h);
223 void setFilePath(
const QString &filePath);
224 QString filePath()
const;
226 void setIcon(
const QIcon &icon);
231 QPlatformWindow *handle()
const;
233 bool setKeyboardGrabEnabled(
bool grab);
234 bool setMouseGrabEnabled(
bool grab);
236 QScreen *screen()
const;
237 void setScreen(QScreen *screen);
239 virtual QAccessibleInterface *accessibleRoot()
const;
240 virtual QObject *focusObject()
const;
242 QPointF mapToGlobal(
const QPointF &pos)
const;
243 QPointF mapFromGlobal(
const QPointF &pos)
const;
244 QPoint mapToGlobal(
const QPoint &pos)
const;
245 QPoint mapFromGlobal(
const QPoint &pos)
const;
248 QCursor cursor()
const;
249 void setCursor(
const QCursor &);
253 static QWindow *fromWinId(WId id);
255#if QT_CONFIG(vulkan) || defined(Q_QDOC)
256 void setVulkanInstance(QVulkanInstance *instance);
257 QVulkanInstance *vulkanInstance()
const;
260 QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QWindow)
263 Q_REVISION(2, 1)
void requestActivate();
265 void setVisible(
bool visible);
270 void showMinimized();
271 void showMaximized();
272 void showFullScreen();
278 bool startSystemResize(Qt::Edges edges);
279 bool startSystemMove();
281 void setTitle(
const QString &);
285 void setWidth(
int arg);
286 void setHeight(
int arg);
287 void setGeometry(
int posx,
int posy,
int w,
int h);
288 void setGeometry(
const QRect &rect);
290 void setMinimumWidth(
int w);
291 void setMinimumHeight(
int h);
292 void setMaximumWidth(
int w);
293 void setMaximumHeight(
int h);
295 Q_REVISION(2, 1)
void alert(
int msec);
297 Q_REVISION(2, 3)
void requestUpdate();
300 void screenChanged(QScreen *screen);
301 void modalityChanged(Qt::WindowModality modality);
302 Q_REVISION(6, 10)
void flagsChanged(Qt::WindowFlags flags);
303 void windowStateChanged(Qt::WindowState windowState);
304 Q_REVISION(2, 2)
void windowTitleChanged(
const QString &title);
306 void xChanged(
int arg);
307 void yChanged(
int arg);
309 void widthChanged(
int arg);
310 void heightChanged(
int arg);
312 void minimumWidthChanged(
int arg);
313 void minimumHeightChanged(
int arg);
314 void maximumWidthChanged(
int arg);
315 void maximumHeightChanged(
int arg);
317 Q_REVISION(6, 9)
void safeAreaMarginsChanged(QMargins arg);
319 void visibleChanged(
bool arg);
320 Q_REVISION(2, 1)
void visibilityChanged(QWindow::Visibility visibility);
321 Q_REVISION(2, 1)
void activeChanged();
322 void contentOrientationChanged(Qt::ScreenOrientation orientation);
324 void focusObjectChanged(QObject *object);
326 Q_REVISION(2, 1)
void opacityChanged(qreal opacity);
328 Q_REVISION(2, 13)
void transientParentChanged(QWindow *transientParent);
331 virtual void exposeEvent(QExposeEvent *);
332 virtual void resizeEvent(QResizeEvent *);
333 virtual void paintEvent(QPaintEvent *);
334 virtual void moveEvent(QMoveEvent *);
335 virtual void focusInEvent(QFocusEvent *);
336 virtual void focusOutEvent(QFocusEvent *);
338 virtual void showEvent(QShowEvent *);
339 virtual void hideEvent(QHideEvent *);
340 virtual void closeEvent(QCloseEvent *);
342 virtual bool event(QEvent *) override;
343 virtual void keyPressEvent(QKeyEvent *);
344 virtual void keyReleaseEvent(QKeyEvent *);
345 virtual void mousePressEvent(QMouseEvent *);
346 virtual void mouseReleaseEvent(QMouseEvent *);
347 virtual void mouseDoubleClickEvent(QMouseEvent *);
348 virtual void mouseMoveEvent(QMouseEvent *);
349#if QT_CONFIG(wheelevent)
350 virtual void wheelEvent(QWheelEvent *);
352 virtual void touchEvent(QTouchEvent *);
353#if QT_CONFIG(tabletevent)
354 virtual void tabletEvent(QTabletEvent *);
356 virtual bool nativeEvent(
const QByteArray &eventType,
void *message, qintptr *result);
358 QWindow(QWindowPrivate &dd, QWindow *parent);
361 Q_PRIVATE_SLOT(d_func(),
void _q_clearAlert())
362 QPlatformSurface *surfaceHandle()
const override;
364 Q_DISABLE_COPY(QWindow)
366 friend class QGuiApplication;
367 friend class QGuiApplicationPrivate;
368 friend class QWindowContainer;
369 friend Q_GUI_EXPORT QWindowPrivate *qt_window_private(QWindow *window);