Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qguiapplication.h
Go to the documentation of this file.
1// Copyright (C) 2016 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
4#ifndef QGUIAPPLICATION_H
5#define QGUIAPPLICATION_H
6
7#include <QtGui/qtguiglobal.h>
8#include <QtCore/qcoreapplication.h>
9#include <QtGui/qwindowdefs.h>
10#include <QtGui/qinputmethod.h>
11#include <QtCore/qlocale.h>
12#include <QtCore/qpoint.h>
13#include <QtCore/qsize.h>
14
16
17
18class QSessionManager;
22class QPalette;
23class QScreen;
24class QStyleHints;
25
26#if defined(qApp)
27#undef qApp
28#endif
29#define qApp (static_cast<QGuiApplication *>(QCoreApplication::instance()))
30
31#if defined(qGuiApp)
32#undef qGuiApp
33#endif
34#define qGuiApp (static_cast<QGuiApplication *>(QCoreApplication::instance()))
35
36class Q_GUI_EXPORT QGuiApplication : public QCoreApplication
37{
39 Q_PROPERTY(QIcon windowIcon READ windowIcon WRITE setWindowIcon)
40 Q_PROPERTY(QString applicationDisplayName READ applicationDisplayName
41 WRITE setApplicationDisplayName NOTIFY applicationDisplayNameChanged)
42 Q_PROPERTY(QString desktopFileName READ desktopFileName WRITE setDesktopFileName)
43 Q_PROPERTY(Qt::LayoutDirection layoutDirection READ layoutDirection WRITE setLayoutDirection
44 NOTIFY layoutDirectionChanged)
45 Q_PROPERTY(QString platformName READ platformName STORED false CONSTANT)
46 Q_PROPERTY(bool quitOnLastWindowClosed READ quitOnLastWindowClosed
47 WRITE setQuitOnLastWindowClosed)
48 Q_PROPERTY(QScreen *primaryScreen READ primaryScreen NOTIFY primaryScreenChanged STORED false)
49
50public:
51#ifdef Q_QDOC
52 QGuiApplication(int &argc, char **argv);
53#else
54 QGuiApplication(int &argc, char **argv, int = ApplicationFlags);
55#endif
57
58 static void setApplicationDisplayName(const QString &name);
60
61 Q_SLOT void setBadgeNumber(qint64 number);
62
63 static void setDesktopFileName(const QString &name);
65
66 static QWindowList allWindows();
67 static QWindowList topLevelWindows();
68 static QWindow *topLevelAt(const QPoint &pos);
69
70 static void setWindowIcon(const QIcon &icon);
71 static QIcon windowIcon();
72
74
75 static QWindow *modalWindow();
76
77 static QWindow *focusWindow();
78 static QObject *focusObject();
79
81 static QList<QScreen *> screens();
82 static QScreen *screenAt(const QPoint &point);
83
84 qreal devicePixelRatio() const;
85
86#ifndef QT_NO_CURSOR
87 static QCursor *overrideCursor();
88 static void setOverrideCursor(const QCursor &);
89 static void changeOverrideCursor(const QCursor &);
90 static void restoreOverrideCursor();
91#endif
92
93 static QFont font();
94 static void setFont(const QFont &);
95
96#ifndef QT_NO_CLIPBOARD
97 static QClipboard *clipboard();
98#endif
99
100 static QPalette palette();
101 static void setPalette(const QPalette &pal);
102
103 static Qt::KeyboardModifiers keyboardModifiers();
104 static Qt::KeyboardModifiers queryKeyboardModifiers();
105 static Qt::MouseButtons mouseButtons();
106
107 static void setLayoutDirection(Qt::LayoutDirection direction);
109
110 static inline bool isRightToLeft() { return layoutDirection() == Qt::RightToLeft; }
111 static inline bool isLeftToRight() { return layoutDirection() == Qt::LeftToRight; }
112
113 static QStyleHints *styleHints();
114 static void setDesktopSettingsAware(bool on);
115 static bool desktopSettingsAware();
116
117 static QInputMethod *inputMethod();
118
119 static QPlatformNativeInterface *platformNativeInterface();
120
121 static QFunctionPointer platformFunction(const QByteArray &function);
122
123 static void setQuitOnLastWindowClosed(bool quit);
125
126 static Qt::ApplicationState applicationState();
127
128 static void setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy policy);
129 static Qt::HighDpiScaleFactorRoundingPolicy highDpiScaleFactorRoundingPolicy();
130
131 static int exec();
132 bool notify(QObject *, QEvent *) override;
133
134#ifndef QT_NO_SESSIONMANAGER
135 // session management
136 bool isSessionRestored() const;
137 QString sessionId() const;
138 QString sessionKey() const;
139 bool isSavingSession() const;
140#endif
141
143
144 static void sync();
151 void focusObjectChanged(QObject *focusObject);
152 void focusWindowChanged(QWindow *focusWindow);
155#ifndef QT_NO_SESSIONMANAGER
156 void commitDataRequest(QSessionManager &sessionManager);
157 void saveStateRequest(QSessionManager &sessionManager);
158#endif
160#if QT_DEPRECATED_SINCE(6, 0)
161 QT_DEPRECATED_VERSION_X_6_0("Handle QEvent::ApplicationPaletteChange instead") void paletteChanged(const QPalette &pal);
162 QT_DEPRECATED_VERSION_X_6_0("Handle QEvent::ApplicationFontChange instead") void fontChanged(const QFont &font);
163#endif
164protected:
165 bool event(QEvent *) override;
166 bool compressEvent(QEvent *, QObject *receiver, QPostEventList *) override;
167
169
170private:
171 Q_DISABLE_COPY(QGuiApplication)
172 Q_DECLARE_PRIVATE(QGuiApplication)
173
174 Q_PRIVATE_SLOT(d_func(), void _q_updateFocusObject(QObject *object))
175
176#ifndef QT_NO_GESTURES
177 friend class QGestureManager;
178#endif
181#ifndef QT_NO_SESSIONMANAGER
183#endif
184};
185
187
188#include <QtGui/qguiapplication_platform.h>
189
190#endif // QGUIAPPLICATION_H
\inmodule QtCore
Definition qbytearray.h:57
The QClipboard class provides access to the window system clipboard.
Definition qclipboard.h:20
\inmodule QtCore
The QCursor class provides a mouse cursor with an arbitrary shape.
Definition qcursor.h:45
\inmodule QtCore
Definition qcoreevent.h:45
\reentrant
Definition qfont.h:22
\macro qGuiApp
static Qt::LayoutDirection layoutDirection()
static QIcon windowIcon()
static bool quitOnLastWindowClosed()
void primaryScreenChanged(QScreen *screen)
static QString desktopFileName()
void commitDataRequest(QSessionManager &sessionManager)
void applicationStateChanged(Qt::ApplicationState state)
void focusObjectChanged(QObject *focusObject)
This signal is emitted when final receiver of events tied to focus is changed.
void fontDatabaseChanged()
This signal is emitted when the available fonts have changed.
static QString applicationDisplayName()
void screenRemoved(QScreen *screen)
This signal is emitted whenever a screen is removed from the system.
static bool isLeftToRight()
Returns true if the application's layout direction is Qt::LeftToRight; otherwise returns false.
void lastWindowClosed()
This signal is emitted from exec() when the last visible \l{Primary and Secondary Windows}{primary wi...
static QScreen * primaryScreen()
void applicationDisplayNameChanged()
void focusWindowChanged(QWindow *focusWindow)
This signal is emitted when the focused window changes.
static bool isRightToLeft()
Returns true if the application's layout direction is Qt::RightToLeft; otherwise returns false.
static QString platformName()
void layoutDirectionChanged(Qt::LayoutDirection direction)
void saveStateRequest(QSessionManager &sessionManager)
void screenAdded(QScreen *screen)
This signal is emitted whenever a new screen screen has been added to the system.
The QIcon class provides scalable icons in different modes and states.
Definition qicon.h:20
The QInputMethod class provides access to the active text input method.
\inmodule QtCore
Definition qobject.h:103
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
The QPlatformIntegration class is the entry for WindowSystem specific functionality.
The QPlatformNativeInterface class provides an abstraction for retrieving native resource handles.
\inmodule QtCore\reentrant
Definition qpoint.h:25
The QScreen class is used to query screen properties. \inmodule QtGui.
Definition qscreen.h:32
The QSessionManager class provides access to the session manager.
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
The QStyleHints class contains platform specific hints and settings. \inmodule QtGui.
Definition qstylehints.h:17
\inmodule QtGui
Definition qwindow.h:63
direction
else opt state
[0]
Combined button and popup list for selecting options.
Definition qcompare.h:63
LayoutDirection
@ LeftToRight
@ RightToLeft
ApplicationState
Definition qnamespace.h:262
HighDpiScaleFactorRoundingPolicy
DBusConnection const char DBusError DBusBusType DBusError return DBusConnection DBusHandleMessageFunction void DBusFreeFunction return DBusConnection return DBusConnection return const char DBusError return DBusConnection DBusMessage dbus_uint32_t return DBusConnection dbus_bool_t DBusConnection DBusAddWatchFunction DBusRemoveWatchFunction DBusWatchToggledFunction void DBusFreeFunction return DBusConnection DBusDispatchStatusFunction void DBusFreeFunction DBusTimeout return DBusTimeout return DBusWatch return DBusWatch unsigned int return DBusError const DBusError return const DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessage return DBusMessageIter int const void return DBusMessageIter DBusMessageIter return DBusMessageIter void DBusMessageIter void int return DBusMessage DBusMessageIter return DBusMessageIter return DBusMessageIter DBusMessageIter const char const char const char const char return DBusMessage return DBusMessage const char return DBusMessage dbus_bool_t return DBusMessage dbus_uint32_t return DBusMessage void
#define QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(T)
GLuint name
struct _cl_event * event
GLfloat GLfloat p
[1]
static QT_BEGIN_NAMESPACE QWindow * topLevelAt(const QPoint &pos)
QScreen * screen
[1]
Definition main.cpp:29
#define QT_DEPRECATED_VERSION_X_6_0(text)
#define Q_PROPERTY(...)
#define Q_OBJECT
#define Q_PRIVATE_SLOT(d, signature)
#define Q_SIGNALS
#define Q_SLOT
long long qint64
Definition qtypes.h:60
double qreal
Definition qtypes.h:187
dialog exec()
QSizePolicy policy