feat: QStandardItemModel and QStyleItemDelegate

This commit is contained in:
touwoyimuli
2019-10-01 11:47:23 +08:00
parent d3349c16b3
commit 77d9584899
5 changed files with 76 additions and 2 deletions

View File

@@ -0,0 +1,20 @@
#ifndef EXDELEGATE_H
#define EXDELEGATE_H
#include <QStyledItemDelegate>
class ExDelegate : public QStyledItemDelegate
{
public:
ExDelegate();
public:
//若是写代理的组件,那么必须要有下面这是个重写这四个函数
virtual QWidget* createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const override; //创建用于编辑的模型数据的widget组件如一个QComboBox组件
virtual void setEditorData(QWidget *editor, const QModelIndex &index) const override; //从数据模型获取数据显示在代理组件editor之中让其编辑
virtual void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const override; //代理组件editor上的数据更新到数据模型
virtual void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const override; //用于给widget组件设置一个合适的大小
};
#endif // EXDELEGATE_H