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)
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)
91 Q_PROPERTY(
bool active READ isActive NOTIFY activeChanged REVISION(2, 1))
92 Q_PROPERTY(Visibility visibility READ visibility WRITE setVisibility NOTIFY visibilityChanged
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);
205 QMargins safeAreaMargins()
const;
207 inline int width()
const {
return geometry().width(); }
208 inline int height()
const {
return geometry().height(); }
209 inline int x()
const {
return geometry().x(); }
210 inline int y()
const {
return geometry().y(); }
212 QSize size()
const override {
return geometry().size(); }
213 inline QPoint position()
const {
return geometry().topLeft(); }
215 void setPosition(
const QPoint &pt);
216 void setPosition(
int posx,
int posy);
218 void resize(
const QSize &newSize);
219 void resize(
int w,
int h);
221 void setFilePath(
const QString &filePath);
222 QString filePath()
const;
224 void setIcon(
const QIcon &icon);
229 QPlatformWindow *handle()
const;
231 bool setKeyboardGrabEnabled(
bool grab);
232 bool setMouseGrabEnabled(
bool grab);
234 QScreen *screen()
const;
235 void setScreen(QScreen *screen);
237 virtual QAccessibleInterface *accessibleRoot()
const;
238 virtual QObject *focusObject()
const;
240 QPointF mapToGlobal(
const QPointF &pos)
const;
241 QPointF mapFromGlobal(
const QPointF &pos)
const;
242 QPoint mapToGlobal(
const QPoint &pos)
const;
243 QPoint mapFromGlobal(
const QPoint &pos)
const;
246 QCursor cursor()
const;
247 void setCursor(
const QCursor &);
251 static QWindow *fromWinId(WId id);
253#if QT_CONFIG(vulkan) || defined(Q_QDOC)
254 void setVulkanInstance(QVulkanInstance *instance);
255 QVulkanInstance *vulkanInstance()
const;
258 QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QWindow)
261 Q_REVISION(2, 1)
void requestActivate();
263 void setVisible(
bool visible);
268 void showMinimized();
269 void showMaximized();
270 void showFullScreen();
276 bool startSystemResize(Qt::Edges edges);
277 bool startSystemMove();
279 void setTitle(
const QString &);
283 void setWidth(
int arg);
284 void setHeight(
int arg);
285 void setGeometry(
int posx,
int posy,
int w,
int h);
286 void setGeometry(
const QRect &rect);
288 void setMinimumWidth(
int w);
289 void setMinimumHeight(
int h);
290 void setMaximumWidth(
int w);
291 void setMaximumHeight(
int h);
293 Q_REVISION(2, 1)
void alert(
int msec);
295 Q_REVISION(2, 3)
void requestUpdate();
298 void screenChanged(QScreen *screen);
299 void modalityChanged(Qt::WindowModality modality);
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);