Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qapplication.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// Qt-Security score:significant reason:default
4
5#ifndef QAPPLICATION_H
6#define QAPPLICATION_H
7
8#include <QtWidgets/qtwidgetsglobal.h>
9#include <QtCore/qcoreapplication.h>
10#include <QtGui/qwindowdefs.h>
11#include <QtCore/qpoint.h>
12#include <QtCore/qsize.h>
13#include <QtGui/qcursor.h>
14#include <QtGui/qguiapplication.h>
15
16QT_BEGIN_NAMESPACE
17
18
19class QStyle;
20class QEventLoop;
21class QIcon;
22class QLocale;
23class QPlatformNativeInterface;
24
25class QApplication;
26class QApplicationPrivate;
27#if defined(qApp)
28#undef qApp
29#endif
30#define qApp (static_cast<QApplication *>(QCoreApplication::instance()))
31
32class Q_WIDGETS_EXPORT QApplication : public QGuiApplication
33{
34 Q_OBJECT
35 Q_PROPERTY(int cursorFlashTime READ cursorFlashTime WRITE setCursorFlashTime)
36 Q_PROPERTY(int doubleClickInterval READ doubleClickInterval WRITE setDoubleClickInterval)
37 Q_PROPERTY(int keyboardInputInterval READ keyboardInputInterval WRITE setKeyboardInputInterval)
38#if QT_CONFIG(wheelevent)
39 Q_PROPERTY(int wheelScrollLines READ wheelScrollLines WRITE setWheelScrollLines)
40#endif
41 Q_PROPERTY(int startDragTime READ startDragTime WRITE setStartDragTime)
42 Q_PROPERTY(int startDragDistance READ startDragDistance WRITE setStartDragDistance)
43#ifndef QT_NO_STYLE_STYLESHEET
44 Q_PROPERTY(QString styleSheet READ styleSheet WRITE setStyleSheet)
45#endif
46 Q_PROPERTY(bool autoSipEnabled READ autoSipEnabled WRITE setAutoSipEnabled)
47
48public:
49#ifdef Q_QDOC
50 QApplication(int &argc, char **argv);
51#else
52 QApplication(int &argc, char **argv, int = ApplicationFlags);
53#endif
54 virtual ~QApplication();
55
56 static QStyle *style();
57 static void setStyle(QStyle*);
58 static QStyle *setStyle(const QString&);
59
60 using QGuiApplication::palette;
61 static QPalette palette(const QWidget *);
62 static QPalette palette(const char *className);
63 static void setPalette(const QPalette &, const char* className = nullptr);
64 static QFont font();
65 static QFont font(const QWidget*);
66 static QFont font(const char *className);
67 static void setFont(const QFont &, const char* className = nullptr);
68
69#if QT_DEPRECATED_SINCE(6,0)
70 QT_DEPRECATED_VERSION_X_6_0("Use QFontMetricsF(qApp->font()) instead.")
71 static QFontMetrics fontMetrics();
72#endif
73
74 static QWidgetList allWidgets();
75 static QWidgetList topLevelWidgets();
76
77 static QWidget *activePopupWidget();
78 static QWidget *activeModalWidget();
79 static QWidget *focusWidget();
80
81 static QWidget *activeWindow();
82
83#if QT_DEPRECATED_SINCE(6, 5)
84 QT_DEPRECATED_VERSION_X_6_5("Use QWidget::activateWindow() instead.")
85 static void setActiveWindow(QWidget* act);
86#endif
87
88 static QWidget *widgetAt(const QPoint &p);
89 static inline QWidget *widgetAt(int x, int y) { return widgetAt(QPoint(x, y)); }
90 static QWidget *topLevelAt(const QPoint &p);
91 static inline QWidget *topLevelAt(int x, int y) { return topLevelAt(QPoint(x, y)); }
92
93 static void beep();
94 static void alert(QWidget *widget, int duration = 0);
95
96 static void setCursorFlashTime(int);
97 static int cursorFlashTime();
98
99 static void setDoubleClickInterval(int);
100 static int doubleClickInterval();
101
102 static void setKeyboardInputInterval(int);
103 static int keyboardInputInterval();
104
105#if QT_CONFIG(wheelevent)
106 static void setWheelScrollLines(int);
107 static int wheelScrollLines();
108#endif
109
110 static void setStartDragTime(int ms);
111 static int startDragTime();
112 static void setStartDragDistance(int l);
113 static int startDragDistance();
114
115 static bool isEffectEnabled(Qt::UIEffect);
116 static void setEffectEnabled(Qt::UIEffect, bool enable = true);
117
118 static int exec();
119 bool notify(QObject *, QEvent *) override;
120
121#ifdef QT_KEYPAD_NAVIGATION
122 static void setNavigationMode(Qt::NavigationMode mode);
123 static Qt::NavigationMode navigationMode();
124#endif
125
126 QT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QApplication)
127
128Q_SIGNALS:
129 void focusChanged(QWidget *old, QWidget *now);
130
131public:
132 QString styleSheet() const;
133 bool autoSipEnabled() const;
134public Q_SLOTS:
135#ifndef QT_NO_STYLE_STYLESHEET
136 void setStyleSheet(const QString& sheet);
137#endif
138 void setAutoSipEnabled(const bool enabled);
139 static void closeAllWindows();
140 static void aboutQt();
141
142protected:
143 bool event(QEvent *) override;
144# if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)
145 QT_DEPRECATED_VERSION_X_6_10("This feature will be removed in Qt 7")
146 bool compressEvent(QEvent *, QObject *receiver, QPostEventList *) override;
147# endif
148
149private:
150 Q_DISABLE_COPY(QApplication)
151 Q_DECLARE_PRIVATE(QApplication)
152
153 friend class QGraphicsWidget;
154 friend class QGraphicsItem;
155 friend class QGraphicsScene;
156 friend class QGraphicsScenePrivate;
157 friend class QWidget;
158 friend class QWidgetPrivate;
159 friend class QWidgetWindow;
160 friend class QTranslator;
161 friend class QWidgetAnimator;
162#ifndef QT_NO_SHORTCUT
163 friend class QShortcut;
164 friend class QLineEdit;
165 friend class QWidgetTextControl;
166#endif
167 friend class QAction;
168
169#ifndef QT_NO_GESTURES
170 friend class QGestureManager;
171#endif
172};
173
174QT_END_NAMESPACE
175
176#endif // QAPPLICATION_H
The QApplication class manages the GUI application's control flow and main settings.
The QPaintEngineState class provides information about the active paint engine's current state....
\inmodule QtGui
virtual QPixmap createPixmap(QSize size)
friend class QPainter
void setSystemRect(const QRect &rect)
void setActive(bool newState)
Sets the active state of the paint engine to state.
virtual void drawPolygon(const QPoint *points, int pointCount, PolygonDrawMode mode)
This is an overloaded member function, provided for convenience. It differs from the above function o...
virtual QPixmap createPixmapFromImage(QImage image, Qt::ImageConversionFlags flags=Qt::AutoColor)
friend class QWidgetPrivate
QRect systemRect() const
QPaintEngine(PaintEngineFeatures features=PaintEngineFeatures())
Creates a paint engine with the featureset specified by caps.
friend class QFontEngineQPF2
friend class QMacCGContext
virtual void drawTextItem(const QPointF &p, const QTextItem &textItem)
This function draws the text item textItem at position p.
virtual void drawLines(const QLineF *lines, int lineCount)
The default implementation splits the list of lines in lines into lineCount separate calls to drawPat...
PolygonDrawMode
\value OddEvenMode The polygon should be drawn using OddEven fill rule.
virtual void drawPoints(const QPointF *points, int pointCount)
Draws the first pointCount points in the buffer points.
virtual void drawRects(const QRectF *rects, int rectCount)
Draws the first rectCount rectangles in the buffer rects.
virtual void drawImage(const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor)
Reimplement this function to draw the part of the image specified by the sr rectangle in the given re...
QPainter * painter() const
Returns the paint engine's painter.
void fix_neg_rect(int *x, int *y, int *w, int *h)
void setPaintDevice(QPaintDevice *device)
virtual QPoint coordinateOffset() const
virtual void drawPolygon(const QPointF *points, int pointCount, PolygonDrawMode mode)
Reimplement this virtual function to draw the polygon defined by the pointCount first points in point...
void setDirty(DirtyFlags df)
void setSystemClip(const QRegion &baseClip)
QPaintEngineState * state
friend class QPainterReplayer
friend class QX11GLPlatformPixmap
PaintEngineFeatures gccaps
void clearDirty(DirtyFlags df)
bool hasFeature(PaintEngineFeatures feature) const
Returns true if the paint engine supports the specified feature; otherwise returns false.
virtual void drawEllipse(const QRectF &r)
Reimplement this function to draw the largest ellipse that can be contained within rectangle rect.
QRegion systemClip() const
bool isExtended() const
QPaintDevice * paintDevice() const
Returns the device that this engine is painting on, if painting is active; otherwise returns \nullptr...
bool testDirty(DirtyFlags df)
virtual void updateState(const QPaintEngineState &state)=0
Reimplement this function to update the state of a paint engine.
DirtyFlag
\value DirtyPen The pen is dirty and needs to be updated.
Type
\value X11 \value Windows \value MacPrinter \value CoreGraphics \macos's Quartz2D (CoreGraphics) \val...
virtual Type type() const =0
Reimplement this function to return the paint engine \l{Type}.
void drawPath(const QPainterPath &path)
Draws the given painter path using the current pen for outline and the current brush for filling.
bool begin(QPaintDevice *)
Begins painting the paint device and returns true if successful; otherwise returns false.
void drawRects(const QRectF *rects, int rectCount)
Draws the first rectCount of the given rectangles using the current pen and brush.
friend class QFontEngine
Definition qpainter.h:432
void drawLines(const QLineF *lines, int lineCount)
Draws the first lineCount lines in the array lines using the current pen.
friend class QFontEngineMac
Definition qpainter.h:435
friend class QWin32PaintEngine
Definition qpainter.h:440
friend class QWin32PaintEnginePrivate
Definition qpainter.h:441
friend class QWidget
Definition qpainter.h:431
friend class QFontEngineWin
Definition qpainter.h:436
void drawEllipse(const QRectF &r)
Draws the ellipse defined by the given rectangle.
bool end()
Ends painting.
void drawPoints(const QPointF *points, int pointCount)
Draws the first pointCount points in the array points using the current pen's color.
bool isActive() const
Returns true if begin() has been called and end() has not yet been called; otherwise returns false.
\inmodule QtCore\reentrant
Definition qpoint.h:231
The QPolygonF class provides a list of points using floating point precision.
Definition qpolygon.h:96
Internal QTextItem.
\inmodule QtGui
uint is_closing
Definition qwidget.h:82
QPalette pal
Definition qwidget.h:91
uint focus_policy
Definition qwidget.h:80
uint in_show
Definition qwidget.h:83
uint unused
Definition qwidget.h:89
uint fstrut_dirty
Definition qwidget.h:85
QRect wrect
Definition qwidget.h:93
QRect crect
Definition qwidget.h:90
uint in_destructor
Definition qwidget.h:88
uint sizehint_forced
Definition qwidget.h:81
uint in_set_window_state
Definition qwidget.h:84
Qt::WindowFlags window_flags
Definition qwidget.h:78
QFont fnt
Definition qwidget.h:92
uint window_modality
Definition qwidget.h:87
uint window_state
Definition qwidget.h:79
WId winid
Definition qwidget.h:76
uint context_menu_policy
Definition qwidget.h:86
uint widget_attributes
Definition qwidget.h:77
The QWidget class is the base class of all user interface objects.
Definition qwidget.h:99
The QWindows11Style class provides a look and feel suitable for applications on Microsoft Windows 11.
void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
void unpolish(QWidget *widget) override
void polish(QWidget *widget) override
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const override
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
QRect subControlRect(ComplexControl control, const QStyleOptionComplex *option, SubControl subControl, const QWidget *widget) const override
QWindows11Style(QWindows11StylePrivate &dd)
void polish(QPalette &pal) override
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
int styleHint(StyleHint hint, const QStyleOption *opt=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
QRect subElementRect(QStyle::SubElement element, const QStyleOption *option, const QWidget *widget=nullptr) const override
~QWindows11Style() override
Destructor.
HBITMAP buffer(int w=0, int h=0)
static int fixedPixelMetric(QStyle::PixelMetric pm)
static HDC hdcForWidgetBackingStore(const QWidget *widget)
static QBackingStore * backingStoreForWidget(const QWidget *widget)
bool swapAlphaChannel(const QRect &rect, bool allPixels=false)
bool drawBackgroundThruNativeBuffer(QWindowsThemeData &QWindowsThemeData, qreal aditionalDevicePixelRatio, qreal correctionFactor)
static HWND winId(const QWidget *widget)
void init(bool force=false)
static bool isLineEditBaseColorSet(const QStyleOption *option, const QWidget *widget)
bool drawBackgroundDirectly(HDC dc, QWindowsThemeData &QWindowsThemeData, qreal aditionalDevicePixelRatio)
static bool isItemViewDelegateLineEdit(const QWidget *widget)
static bool useVista(bool update=false)
bool fixAlphaChannel(const QRect &rect)
void cleanup(bool force=false)
bool isTransparent(QWindowsThemeData &QWindowsThemeData)
bool hasAlphaChannel(const QRect &rect)
QRegion region(QWindowsThemeData &QWindowsThemeData)
bool drawBackground(QWindowsThemeData &QWindowsThemeData, qreal correctionFactor=1)
static HTHEME createTheme(int theme, const QWidget *widget)
static int pixelMetricFromSystemDp(QStyle::PixelMetric pm, const QStyleOption *option=nullptr, const QWidget *widget=nullptr)
static QString themeName(int theme)
The QWindowsVistaStyle class provides a look and feel suitable for applications on Microsoft Windows ...
QRect subElementRect(SubElement element, const QStyleOption *option, const QWidget *widget) const override
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *widget) const override
int styleHint(StyleHint hint, const QStyleOption *opt=nullptr, const QWidget *widget=nullptr, QStyleHintReturn *returnData=nullptr) const override
SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option, const QPoint &pos, const QWidget *widget=nullptr) const override
void drawControl(ControlElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget) const override
void polish(QWidget *widget) override
int pixelMetric(PixelMetric metric, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
QPixmap standardPixmap(StandardPixmap standardPixmap, const QStyleOption *opt, const QWidget *widget=nullptr) const override
QIcon standardIcon(StandardPixmap standardIcon, const QStyleOption *option=nullptr, const QWidget *widget=nullptr) const override
\reimp
~QWindowsVistaStyle() override
Destructor.
void polish(QPalette &pal) override
void drawPrimitive(PrimitiveElement element, const QStyleOption *option, QPainter *painter, const QWidget *widget=nullptr) const override
QSize sizeFromContents(ContentsType type, const QStyleOption *option, const QSize &size, const QWidget *widget) const override
QWindowsVistaStyle(QWindowsVistaStylePrivate &dd)
void drawComplexControl(ComplexControl control, const QStyleOptionComplex *option, QPainter *painter, const QWidget *widget) const override
void unpolish(QWidget *widget) override
QString string() const override
void paint(QPainter *painter, const QRect &rect, QIcon::Mode mode, QIcon::State state) override
Uses the given painter to paint the icon with the required mode and state into the rectangle rect.
QString key() const override
\variable QIconEngine::ScaledPixmapArgument::size
QIconEngine * clone() const override
Reimplement this method to return a clone of this icon engine.
WinFontIconEngine(const QChar &glyph, const QFont &font)
Q_DECLARE_TYPEINFO(QByteArrayView, Q_PRIMITIVE_TYPE)
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2568
WINUI3Color
@ fillControlAltSecondary
@ fillControlTertiary
@ frameColorStrongDisabled
@ textOnAccentPrimary
@ fillControlDefault
@ controlStrokeSecondary
@ frameColorStrong
@ surfaceStroke
@ fillControlDisabled
@ subtleHighlightColor
@ textPrimary
@ controlFillSolid
@ fillAccentSecondary
@ frameColorLight
@ subtlePressedColor
@ textDisabled
@ fillControlSecondary
@ textSecondary
@ controlStrokeOnAccentSecondary
@ fillAccentDefault
@ textOnAccentSecondary
@ focusFrameOuterStroke
@ textOnAccentDisabled
@ fillControlAltQuarternary
@ menuPanelFill
@ controlStrongFill
@ controlStrokePrimary
@ fillAccentDisabled
@ fillControlAltTertiary
@ fillControlAltDisabled
@ focusFrameInnerStroke
@ fillAccentTertiary
bool operator==(const ThemeMapKey &k1, const ThemeMapKey &k2)
@ UnknownAlpha
size_t qHash(const ThemeMapKey &key)
AlphaChannelType alphaType
ThemeMapKey(const QWindowsThemeData &data)
ThemeMapKey()=default