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
qstylekitstyle.h
Go to the documentation of this file.
1// Copyright (C) 2026 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 QSTYLEKITSTYLE_H
6#define QSTYLEKITSTYLE_H
7
8#include <QtWidgets/qcommonstyle.h>
9#include <QtLabsStyleKit/qtlabsstylekitexports.h>
10
11QT_BEGIN_NAMESPACE
12
13class QStyleKitStylePrivate;
14class Q_LABSSTYLEKIT_EXPORT QStyleKitStyle : public QCommonStyle
15{
16 Q_OBJECT
17 Q_PROPERTY(QString stylePath READ stylePath WRITE setStylePath NOTIFY stylePathChanged FINAL)
18 Q_PROPERTY(QString themeName READ themeName WRITE setThemeName NOTIFY themeNameChanged FINAL)
19 Q_PROPERTY(QStringList themeNames READ themeNames NOTIFY stylePathChanged FINAL)
20 Q_PROPERTY(QStringList customThemeNames READ customThemeNames NOTIFY stylePathChanged FINAL)
21
22public:
23 QStyleKitStyle();
24 explicit QStyleKitStyle(const QString &filePath);
25 ~QStyleKitStyle() override;
26
27 QString stylePath() const;
28 void setStylePath(const QString &filePath);
29 QString themeName() const;
30 void setThemeName(const QString &themeName);
31 QStringList themeNames() const;
32 QStringList customThemeNames() const;
33
34 void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p,
35 const QWidget *w = nullptr) const override;
36 void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p,
37 const QWidget *w = nullptr) const override;
38 QRect subElementRect(SubElement r, const QStyleOption *opt, const QWidget *widget = nullptr) const override;
39 void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p,
40 const QWidget *w = nullptr) const override;
41 SubControl hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt,
42 const QPoint &pt, const QWidget *w = nullptr) const override;
43 QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc,
44 const QWidget *w = nullptr) const override;
45 QSize sizeFromContents(ContentsType ct, const QStyleOption *opt,
46 const QSize &contentsSize, const QWidget *widget = nullptr) const override;
47
48 int pixelMetric(PixelMetric m, const QStyleOption *opt = nullptr, const QWidget *widget = nullptr) const override;
49
50 int styleHint(StyleHint sh, const QStyleOption *opt = nullptr, const QWidget *w = nullptr,
51 QStyleHintReturn *shret = nullptr) const override;
52
53 QPalette standardPalette() const override;
54 void polish(QWidget *widget) override;
55 void polish(QApplication *application) override;
56 void polish(QPalette &palette) override;
57 void unpolish(QWidget *widget) override;
58 void unpolish(QApplication *application) override;
59
60protected:
61 bool eventFilter(QObject *watched, QEvent *event) override;
62 bool event(QEvent *event) override;
63
64Q_SIGNALS:
65 void stylePathChanged();
66 void themeNameChanged();
67
68private:
69 Q_DISABLE_COPY_MOVE(QStyleKitStyle)
70 Q_DECLARE_PRIVATE(QStyleKitStyle)
71};
72
73QT_END_NAMESPACE
74
75#endif // QSTYLEKITSTYLE_H
\inmodule QtLabsStyleKit
Combined button and popup list for selecting options.
static qreal resolvedImplicitWidth(const QQStyleKitDelegateProperties *element, qreal availableW)
static QWidget * managedViewport(QWidget *widget)
static QMargins elementMargins(const QQStyleKitDelegateProperties *element)
static uint resolvedAlignment(uint raw, Qt::Alignment hDefault, Qt::Alignment vDefault)
static bool isSelfPaintingWidget(const QWidget *widget)
static qreal resolvedImplicitHeight(const QQStyleKitDelegateProperties *element, qreal avilableH)
static QUrl urlFromStylePath(const QString &filePath)
static const QWidget * containerWidget(const QWidget *w)