Qt 6.x
The Qt SDK
Loading...
Searching...
No Matches
qpixmapstyle_p.h
Go to the documentation of this file.
1// Copyright (C) 2014 BlackBerry Limited. All rights reserved.
2// Copyright (C) 2015 Klarälvdalens Datakonsult AB, a KDAB Group company, info@kdab.com
3// Copyright (C) 2016 The Qt Company Ltd.
4// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
5
6#ifndef QPIXMAPSTYLE_H
7#define QPIXMAPSTYLE_H
8
9#include <QtWidgets/private/qtwidgetsglobal_p.h>
10#include <QtWidgets/QCommonStyle>
11#include <QtWidgets/QTileRules>
12
13//
14// W A R N I N G
15// -------------
16//
17// This file is not part of the Qt API. It exists purely as an
18// implementation detail. This header file may change from version to
19// version without notice, or even be removed.
20//
21// We mean it.
22//
23
25
27
28class Q_WIDGETS_EXPORT QPixmapStyle : public QCommonStyle
29{
31
32public:
35 LE_Enabled, // QLineEdit
38 PB_Enabled, // QPushButton
43 TE_Enabled, // QTextEdit
46 PB_HBackground, // Horizontal QProgressBar
49 PB_VBackground, // Vertical QProgressBar
52 SG_HEnabled, // Horizontal QSlider groove
57 SG_VEnabled, // Vertical QSlider groove
62 DD_ButtonEnabled, // QComboBox (DropDown)
68 ID_Selected, // QStyledItemDelegate
69 SB_Horizontal, // QScrollBar
70 SB_Vertical
71 };
72
74 CB_Enabled, // QCheckBox
80 RB_Enabled, // QRadioButton
85 SH_HEnabled, // Horizontal QSlider handle
88 SH_VEnabled, // Vertical QSlider handle
91 DD_ArrowEnabled, // QComboBox (DropDown) arrow
96 ID_Separator // QStyledItemDelegate separator
97 };
98
99public:
100 QPixmapStyle();
102
103 void polish(QApplication *application) override;
104 void polish(QPalette &palette) override;
105 void polish(QWidget *widget) override;
106 void unpolish(QApplication *application) override;
107 void unpolish(QWidget *widget) override;
108
109 void drawPrimitive(PrimitiveElement element, const QStyleOption *option,
110 QPainter *painter, const QWidget *widget = nullptr) const override;
111 void drawControl(ControlElement element, const QStyleOption *option,
112 QPainter *painter, const QWidget *widget = nullptr) const override;
113 void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *option,
114 QPainter *painter, const QWidget *widget=nullptr) const override;
115
116 QSize sizeFromContents(ContentsType type, const QStyleOption *option,
117 const QSize &contentsSize, const QWidget *widget = nullptr) const override;
118 QRect subElementRect(SubElement element, const QStyleOption *option,
119 const QWidget *widget = nullptr) const override;
120 QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *option,
121 SubControl sc, const QWidget *widget = nullptr) const override;
122
123 int pixelMetric(PixelMetric metric, const QStyleOption *option = nullptr,
124 const QWidget *widget = nullptr) const override;
125 int styleHint(StyleHint hint, const QStyleOption *option,
126 const QWidget *widget, QStyleHintReturn *returnData) const override;
127 SubControl hitTestComplexControl(ComplexControl control, const QStyleOptionComplex *option,
128 const QPoint &pos, const QWidget *widget) const override;
129
130 bool eventFilter(QObject *watched, QEvent *event) override;
131
132 void addDescriptor(ControlDescriptor control, const QString &fileName,
133 QMargins margins = QMargins(),
135 void copyDescriptor(ControlDescriptor source, ControlDescriptor dest);
136 void drawCachedPixmap(ControlDescriptor control, const QRect &rect, QPainter *p) const;
137
138 void addPixmap(ControlPixmap control, const QString &fileName,
139 QMargins margins = QMargins());
140 void copyPixmap(ControlPixmap source, ControlPixmap dest);
141
142protected:
143 void drawPushButton(const QStyleOption *option,
144 QPainter *painter, const QWidget *widget) const;
145 void drawLineEdit(const QStyleOption *option,
146 QPainter *painter, const QWidget *widget) const;
147 void drawTextEdit(const QStyleOption *option,
148 QPainter *painter, const QWidget *widget) const;
149 void drawCheckBox(const QStyleOption *option,
150 QPainter *painter, const QWidget *widget) const;
151 void drawRadioButton(const QStyleOption *option,
152 QPainter *painter, const QWidget *widget) const;
153 void drawPanelItemViewItem(const QStyleOption *option,
154 QPainter *painter, const QWidget *widget) const;
155 void drawProgressBarBackground(const QStyleOption *option,
156 QPainter *painter, const QWidget *widget) const;
157 void drawProgressBarLabel(const QStyleOption *option,
158 QPainter *painter, const QWidget *widget) const;
159 void drawProgressBarFill(const QStyleOption *option,
160 QPainter *painter, const QWidget *widget) const;
161 void drawSlider(const QStyleOptionComplex *option,
162 QPainter *painter, const QWidget *widget) const;
163 void drawComboBox(const QStyleOptionComplex *option,
164 QPainter *painter, const QWidget *widget) const;
165 void drawScrollBar(const QStyleOptionComplex *option,
166 QPainter *painter, const QWidget *widget) const;
167
168 QSize pushButtonSizeFromContents(const QStyleOption *option,
169 const QSize &contentsSize, const QWidget *widget) const;
170 QSize lineEditSizeFromContents(const QStyleOption *option,
171 const QSize &contentsSize, const QWidget *widget) const;
172 QSize progressBarSizeFromContents(const QStyleOption *option,
173 const QSize &contentsSize, const QWidget *widget) const;
174 QSize sliderSizeFromContents(const QStyleOption *option,
175 const QSize &contentsSize, const QWidget *widget) const;
176 QSize comboBoxSizeFromContents(const QStyleOption *option,
177 const QSize &contentsSize, const QWidget *widget) const;
178 QSize itemViewSizeFromContents(const QStyleOption *option,
179 const QSize &contentsSize, const QWidget *widget) const;
180
181 QRect comboBoxSubControlRect(const QStyleOptionComplex *option, QPixmapStyle::SubControl sc,
182 const QWidget *widget) const;
183 QRect scrollBarSubControlRect(const QStyleOptionComplex *option, QPixmapStyle::SubControl sc,
184 const QWidget *widget) const;
185
186protected:
188
189private:
190 Q_DECLARE_PRIVATE(QPixmapStyle)
191};
192
194
195#endif // QPIXMAPSTYLE_H
The QApplication class manages the GUI application's control flow and main settings.
The QCommonStyle class encapsulates the common Look and Feel of a GUI.
int pixelMetric(PixelMetric m, const QStyleOption *opt=nullptr, const QWidget *widget=nullptr) const override
\reimp
QSize sizeFromContents(ContentsType ct, const QStyleOption *opt, const QSize &contentsSize, const QWidget *widget=nullptr) const override
\reimp
QRect subElementRect(SubElement r, const QStyleOption *opt, const QWidget *widget=nullptr) const override
\reimp
void unpolish(QWidget *widget) override
\reimp
void drawControl(ControlElement element, const QStyleOption *opt, QPainter *p, const QWidget *w=nullptr) const override
\reimp
SubControl hitTestComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, const QPoint &pt, const QWidget *w=nullptr) const override
\reimp
int styleHint(StyleHint sh, const QStyleOption *opt=nullptr, const QWidget *w=nullptr, QStyleHintReturn *shret=nullptr) const override
\reimp
void polish(QPalette &) override
\reimp
QRect subControlRect(ComplexControl cc, const QStyleOptionComplex *opt, SubControl sc, const QWidget *w=nullptr) const override
\reimp
void drawComplexControl(ComplexControl cc, const QStyleOptionComplex *opt, QPainter *p, const QWidget *w=nullptr) const override
\reimp
void drawPrimitive(PrimitiveElement pe, const QStyleOption *opt, QPainter *p, const QWidget *w=nullptr) const override
\reimp
\inmodule QtCore
Definition qcoreevent.h:45
\inmodule QtCore
Definition qmargins.h:23
\inmodule QtCore
Definition qobject.h:90
virtual bool eventFilter(QObject *watched, QEvent *event)
Filters events if this object has been installed as an event filter for the watched object.
Definition qobject.cpp:1518
The QPainter class performs low-level painting on widgets and other paint devices.
Definition qpainter.h:46
The QPalette class contains color groups for each widget state.
Definition qpalette.h:19
The QPixmapStyle class provides mechanism for writing pixmap based styles.
\inmodule QtCore\reentrant
Definition qpoint.h:23
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtCore
Definition qsize.h:25
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:127
\variable QStyleOptionGraphicsItem::exposedRect
\variable QStyleOptionMenuItem::menuItemType
The QStyleOption class stores the parameters used by QStyle functions.
SubControl
This enum describes the available sub controls.
Definition qstyle.h:347
The QWidget class is the base class of all user interface objects.
Definition qwidget.h:99
QOpenGLWidget * widget
[1]
rect
[4]
Combined button and popup list for selecting options.
@ RepeatTile
Definition qnamespace.h:134
GLenum type
GLsizei GLsizei GLchar * source
struct _cl_event * event
GLfloat GLfloat p
[1]
GLuint GLenum option
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
#define Q_OBJECT
QPainter painter(this)
[7]
The QTileRules class provides the rules used to draw a pixmap or image split into nine segments.
Definition qdrawutil.h:77