Qt中的委托由Delegate类来实现,Delegate类在Qt中的继承框架如下
图中可以看出QAbstractItemDelegate主要被两个类继承:QItemDelegate和QStyleItemDelegate。他们的区别是是否沿袭了用户提供的Qt style sheets。如果是使用了Qt style sheets,选择QStyleItemDelegate类较好。
使用Delegate类时必须重载的一些函数:
(1)QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option,const QModelIndex &index) const;
(2)void setEditorData(QWidget *editor, const QModelIndex &index) const;
(3)void setModelData(QWidget *editor, QAbstractItemModel *model,const QModelIndex &index) const;
(4)void u