#ifndef COMBOBOXDELEGATE_H #define COMBOBOXDELEGATE_H #include class QStringListModel; class ComboboxDelegate : public QStyledItemDelegate { Q_OBJECT public: explicit ComboboxDelegate(const QStringList items, QObject* parent = nullptr); /// QAbstractItemDelegate interface public: void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const override; QSize sizeHint(const QStyleOptionViewItem& option, const QModelIndex& index) const override; QWidget* createEditor(QWidget* parent, const QStyleOptionViewItem& option, const QModelIndex&) const override; void setEditorData(QWidget* editor, const QModelIndex& index) const override; void setModelData(QWidget* editor, QAbstractItemModel* model, const QModelIndex& index) const override; private: QStringListModel* m_types = nullptr; }; #endif // COMBOBOXDELEGATE_H