123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174 | // Copyright (C) 2016 The Qt Company Ltd.// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only#ifndef QAPPLICATION_H#define QAPPLICATION_H#include <QtWidgets/qtwidgetsglobal.h>#include <QtCore/qcoreapplication.h>#include <QtGui/qwindowdefs.h>#include <QtCore/qpoint.h>#include <QtCore/qsize.h>#include <QtGui/qcursor.h>#include <QtGui/qguiapplication.h> QT_BEGIN_NAMESPACE class QStyle;class QEventLoop;class QIcon;class QLocale;class QPlatformNativeInterface;class QApplication;class QApplicationPrivate;#if defined(qApp)#undef qApp#endif#define qApp (static_cast<QApplication *>(QCoreApplication::instance()))class Q_WIDGETS_EXPORT QApplication :public QGuiApplication { Q_OBJECT Q_PROPERTY(int cursorFlashTime READ cursorFlashTime WRITE setCursorFlashTime)Q_PROPERTY(int doubleClickInterval READ doubleClickInterval WRITE setDoubleClickInterval)Q_PROPERTY(int keyboardInputInterval READ keyboardInputInterval WRITE setKeyboardInputInterval)#if QT_CONFIG(wheelevent)Q_PROPERTY(int wheelScrollLines READ wheelScrollLines WRITE setWheelScrollLines)#endifQ_PROPERTY(int startDragTime READ startDragTime WRITE setStartDragTime)Q_PROPERTY(int startDragDistance READ startDragDistance WRITE setStartDragDistance)#ifndef QT_NO_STYLE_STYLESHEETQ_PROPERTY(QString styleSheet READ styleSheet WRITE setStyleSheet)#endifQ_PROPERTY(bool autoSipEnabled READ autoSipEnabled WRITE setAutoSipEnabled)public:#ifdef Q_QDOCQApplication(int&argc,char**argv);#elseQApplication(int&argc,char**argv,int= ApplicationFlags);#endifvirtual~QApplication();static QStyle *style();static voidsetStyle(QStyle*);static QStyle *setStyle(const QString&);usingQGuiApplication::palette;static QPalette palette(const QWidget *);static QPalette palette(const char*className);static voidsetPalette(const QPalette &,const char* className =nullptr);static QFont font();static QFont font(const QWidget*);static QFont font(const char*className);static voidsetFont(const QFont &,const char* className =nullptr);#if QT_DEPRECATED_SINCE(6,0)QT_DEPRECATED_VERSION_X_6_0("Use QFontMetricsF(qApp->font()) instead.")static QFontMetrics fontMetrics();#endifstatic QWidgetList allWidgets();static QWidgetList topLevelWidgets();static QWidget *activePopupWidget();static QWidget *activeModalWidget();static QWidget *focusWidget();static QWidget *activeWindow();#if QT_DEPRECATED_SINCE(6, 5)QT_DEPRECATED_VERSION_X_6_5("Use QWidget::activateWindow() instead.")static voidsetActiveWindow(QWidget* act);#endifstatic QWidget *widgetAt(const QPoint &p);staticinline QWidget *widgetAt(int x,int y) {returnwidgetAt(QPoint(x, y)); }static QWidget *topLevelAt(const QPoint &p);staticinline QWidget *topLevelAt(int x,int y) {returntopLevelAt(QPoint(x, y)); }static voidbeep();static voidalert(QWidget *widget,int duration =0);static voidsetCursorFlashTime(int);static intcursorFlashTime();static voidsetDoubleClickInterval(int);static intdoubleClickInterval();static voidsetKeyboardInputInterval(int);static intkeyboardInputInterval();#if QT_CONFIG(wheelevent)static voidsetWheelScrollLines(int);static intwheelScrollLines();#endifstatic voidsetStartDragTime(int ms);static intstartDragTime();static voidsetStartDragDistance(int l);static intstartDragDistance();static boolisEffectEnabled(Qt::UIEffect);static voidsetEffectEnabled(Qt::UIEffect,bool enable =true);static intexec();boolnotify(QObject *, QEvent *) override;#ifdef QT_KEYPAD_NAVIGATIONstatic voidsetNavigationMode(Qt::NavigationMode mode);staticQt::NavigationMode navigationMode();#endifQT_DECLARE_NATIVE_INTERFACE_ACCESSOR(QApplication) Q_SIGNALS:voidfocusChanged(QWidget *old, QWidget *now);public: QString styleSheet()const;boolautoSipEnabled()const;public Q_SLOTS:#ifndef QT_NO_STYLE_STYLESHEETvoidsetStyleSheet(const QString& sheet);#endifvoidsetAutoSipEnabled(const bool enabled);static voidcloseAllWindows();static voidaboutQt();protected:boolevent(QEvent *) override;# if QT_VERSION < QT_VERSION_CHECK(7, 0, 0)boolcompressEvent(QEvent *, QObject *receiver, QPostEventList *) override;# endifprivate:Q_DISABLE_COPY(QApplication)Q_DECLARE_PRIVATE(QApplication)friend class QGraphicsWidget;friend class QGraphicsItem;friend class QGraphicsScene;friend class QGraphicsScenePrivate;friend class QWidget;friend class QWidgetPrivate;friend class QWidgetWindow;friend class QTranslator;friend class QWidgetAnimator;#ifndef QT_NO_SHORTCUTfriend class QShortcut;friend class QLineEdit;friend class QWidgetTextControl;#endiffriend class QAction;#ifndef QT_NO_GESTURESfriend class QGestureManager;#endif}; QT_END_NAMESPACE #endif// QAPPLICATION_H
|