Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qitemdelegate.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
4#ifndef QITEMDELEGATE_H
5#define QITEMDELEGATE_H
6
7#include <QtWidgets/qtwidgetsglobal.h>
8#include <QtWidgets/qabstractitemdelegate.h>
9#include <QtCore/qstring.h>
10#include <QtGui/qpixmap.h>
11#include <QtCore/qvariant.h>
12
14
16
19
20class Q_WIDGETS_EXPORT QItemDelegate : public QAbstractItemDelegate
21{
23 Q_PROPERTY(bool clipping READ hasClipping WRITE setClipping)
24
25public:
26 explicit QItemDelegate(QObject *parent = nullptr);
28
29 bool hasClipping() const;
30 void setClipping(bool clip);
31
32 // painting
34 const QStyleOptionViewItem &option,
35 const QModelIndex &index) const override;
36 QSize sizeHint(const QStyleOptionViewItem &option,
37 const QModelIndex &index) const override;
38
39 // editing
40 QWidget *createEditor(QWidget *parent,
41 const QStyleOptionViewItem &option,
42 const QModelIndex &index) const override;
43
44 void setEditorData(QWidget *editor, const QModelIndex &index) const override;
45 void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override;
46
47 void updateEditorGeometry(QWidget *editor,
48 const QStyleOptionViewItem &option,
49 const QModelIndex &index) const override;
50
51 // editor factory
52 QItemEditorFactory *itemEditorFactory() const;
53 void setItemEditorFactory(QItemEditorFactory *factory);
54
55protected:
56 virtual void drawDisplay(QPainter *painter, const QStyleOptionViewItem &option,
57 const QRect &rect, const QString &text) const;
58 virtual void drawDecoration(QPainter *painter, const QStyleOptionViewItem &option,
59 const QRect &rect, const QPixmap &pixmap) const;
60 virtual void drawFocus(QPainter *painter, const QStyleOptionViewItem &option,
61 const QRect &rect) const;
62 virtual void drawCheck(QPainter *painter, const QStyleOptionViewItem &option,
63 const QRect &rect, Qt::CheckState state) const;
64 void drawBackground(QPainter *painter, const QStyleOptionViewItem &option,
65 const QModelIndex &index) const;
66
67 void doLayout(const QStyleOptionViewItem &option,
68 QRect *checkRect, QRect *iconRect, QRect *textRect, bool hint) const;
69
70 QRect rect(const QStyleOptionViewItem &option, const QModelIndex &index, int role) const;
71
72 bool eventFilter(QObject *object, QEvent *event) override;
73 bool editorEvent(QEvent *event, QAbstractItemModel *model,
74 const QStyleOptionViewItem &option, const QModelIndex &index) override;
75
76 QStyleOptionViewItem setOptions(const QModelIndex &index,
77 const QStyleOptionViewItem &option) const;
78
79 QPixmap decoration(const QStyleOptionViewItem &option, const QVariant &variant) const;
80
81 static QPixmap selectedPixmap(const QPixmap &pixmap, const QPalette &palette, bool enabled);
82
83 QRect doCheck(const QStyleOptionViewItem &option, const QRect &bounding,
84 const QVariant &variant) const;
85 QRect textRectangle(QPainter *painter, const QRect &rect,
86 const QFont &font, const QString &text) const;
87
88private:
89 Q_DECLARE_PRIVATE(QItemDelegate)
90 Q_DISABLE_COPY(QItemDelegate)
91};
92
94
95#endif // QITEMDELEGATE_H
The QAbstractItemDelegate class is used to display and edit data items from a model.
\inmodule QtCore
Definition qcoreevent.h:45
\reentrant
Definition qfont.h:22
The QItemDelegate class provides display and editing facilities for data items from a model.
The QItemEditorFactory class provides widgets for editing item data in views and delegates.
\inmodule QtCore
\inmodule QtCore
Definition qobject.h:103
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
Returns a copy of the pixmap that is transformed using the given transformation transform and transfo...
Definition qpixmap.h:27
\inmodule QtCore\reentrant
Definition qrect.h:30
\inmodule QtCore
Definition qsize.h:25
\macro QT_RESTRICTED_CAST_FROM_ASCII
Definition qstring.h:129
\inmodule QtCore
Definition qvariant.h:65
The QWidget class is the base class of all user interface objects.
Definition qwidget.h:99
QPainter paint
QString text
rect
[4]
else opt state
[0]
QRect textRect
Combined button and popup list for selecting options.
CheckState
GLuint index
[2]
GLenum GLenum GLsizei const GLuint GLboolean enabled
struct _cl_event * event
GLuint GLenum option
static QT_BEGIN_NAMESPACE QVariant hint(QPlatformIntegration::StyleHint h)
#define QT_REQUIRE_CONFIG(feature)
static void drawBackground(QPainter *p, const QTextCharFormat &chf, const QRectF &r)
#define Q_PROPERTY(...)
#define Q_OBJECT
QSqlQueryModel * model
[16]
QVariant variant
[1]
QItemEditorFactory * factory
widget render & pixmap
QPainter painter(this)
[7]