最近做Qt项目  用到Qtableview  显示数据  网上查了些资料 结合自己在工程中遇到的实际问题  总结了一些Qtableview的用法:
QTableView *tableview;
QStandardItemModel *model = new QStandardItemModel();
Qtableview用的mvc模式  实际上用到的是model/view居多
tableview->setmodel(model);来使用model
model->setHeaderdata();设置表的column名称;
当然如果想隐藏column名称的话 只需要用:tableview->horizontalHeader()->setVisible(false); 
隐藏row名称:tableview->verticalHeader()->setVisible(false);
若是想设置表格column的样式 使用:tableview->->horizontalHeader()->setStyleSheet();
使用setColumnWidth()来设置Header的宽度;
QT还提供了对表格表头进行设置的model:
tableview->horizontalHeader()->setResizeMode();
tableview->verticalHeader()->setResizeMode(); 
Qt提供的 setResizeMode()有四种:
QHeaderView::Interactive;
QHeaderView::Fixed;
QHeaderView::Stretch;
QHeaderView::ResizeToContents; 
对表格表头设置完之后,接下来就是表格之中的item:
要得到当前选中的item,如下操作:
QModelIndex Index = tableview->currentIndex();得到当前的Index;
QStandardItem *item = listAll->itemFromIndex(index);//根据index 得到item
如果想让点击item 发送信号 则可以使用:
connect(tableview, SIGNAL(clicked ( const QModelIndex &)), this,
  SLOT(Function(const QModelIndex &)));//点击tableview中的item触发信号

若要对item可以设置背景颜色  使用:setBackground()即可;


另外: horizontalHeaderItem用来得到具体的headerItem  然后使用setBackgroundColor设置背景色  不知道什么原因我在使用过程中没有产生效果 不知哪个地方出现问题了  有知道的 希望能够指点一二:
QStandardItem *headerItem = model->horizontalHeaderItem(i);
headerItem->setBackground();
在我使用
headerItm->text();时是可以得到header的text的;