划重点:
1. 实现固定列原理:
使用两个视图在同一个模型上,使用叠加技术,到达冻结某列的效果,
原理:两视图共享模型!
先把一个视图放到另外一个视图上面,只保留某一列显示,
其他列隐藏,并且使用stackUnder()把其放在最上面,然后第二个模型在他下面。
隐藏视图的竖直方向上的头部
说白了,就是一个view放到另外一个view的上面,上面的view不动,下面的view动,就可以实现这种效果!
2个tableview 共享一个model
2.Delegate实现各种cell的样式和交互:
1.使用QItemDelegate的paint函数
2.若是想显示一个自定义Widget 可实现:
QWidget *createEditor(QWidget *parent, const QStyleOptionViewItem &option, const QModelIndex &index) const;
void setEditorData(QWidget *editor, const QModelIndex &index) const;
void setModelData(QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) const;
void updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &) const;
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const;