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#include <QtQml/qqmlengine.h>
11
12QT_BEGIN_NAMESPACE
13
14class QStyleKitStylePrivate;
15class Q_LABSSTYLEKIT_EXPORT QStyleKitStyle : public QCommonStyle
16{
17 Q_OBJECT
18 Q_PROPERTY(QString stylePath READ stylePath WRITE setStylePath NOTIFY stylePathChanged)
19 Q_PROPERTY(QString themeName READ themeName WRITE setThemeName NOTIFY themeNameChanged)
20 Q_PROPERTY(QStringList themeNames READ themeNames NOTIFY stylePathChanged)
21
22public:
23 QStyleKitStyle();
24 QStyleKitStyle(const QString &fileName);
25 ~QStyleKitStyle() override;
26
27 QString stylePath() const;
28 void setStylePath(const QString &fileName);
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
63Q_SIGNALS:
64 void stylePathChanged();
65 void themeNameChanged();
66
67private:
68 Q_DISABLE_COPY_MOVE(QStyleKitStyle)
69 Q_DECLARE_PRIVATE(QStyleKitStyle)
70};
71
72QT_END_NAMESPACE
73
74#endif // QSTYLEKITSTYLE_H
\inmodule QtLabsStyleKit
Combined button and popup list for selecting options.
static uint resolvedAlignment(uint raw, Qt::Alignment hDefault, Qt::Alignment vDefault)
static QQStyleKitReader::ControlType controlTypeForWidget(const QWidget *widget)
static const QWidget * containerWidget(const QWidget *w)