model中的每一个数据元素都有一个modelIndex和一套角色role。
model中的角色,role有多个,但是常用的就几个。 这些角色可以保存任意值,角色中可用保持QVariant类型的值。
最常用的是Qt::DisplayRole和Qt::EditRole角色。
这两个角色是用于显示和编辑的角色。
还有几个常用的角色是用来控制 基本显示属性的。
比如:
Qt:: FontRole,控制显示的字体。
Qt::TextAlignmentRole,控制元素 显示文字的对齐方式的
Qt::TextColorRole,控制显示文字颜色的。
Qt::BackgroundColorRole,控制背景颜色的。
Qt::CheckStateRole也是qt中的角色, 当flag()函数中,设置某一列具有Qt::CheckStateRole这种角色后,该列就会显示为一个CheckBox,
//允许用户编辑item,必须重写setData()函数
bool TradeTableModel::setData ( const QModelIndex & index, const QVariant & value, int