QTableView设置纵向表头不可见
QTableView::verticalHeader()->setVisible(false);
设置表格的高度
QTableView::verticalHeader()->setDefaultSectionSize(18);
QTableView::verticalHeader()->setMinimumSectionSize(15);
注意setMinimumSectionSize是设置最小高度
若最小高度为25,则setDefaultSectionSize(18)不生效
有时候setDefaultSectionSize就要检测一下最大最小高度是多少
当QTableView的大小发生变化时
如何快捷的获取行号范围
//获取首行行号,value()直接对应行号,可能有一点边界问题
QTableView::verticalScrollBar()->value();
//获取单页有多少行
QTableView::verticalScrollBar()->pageStep();
结合上面两个信息,则可以当前页面的行号范围
其他的方法都不好使
横向表头大小若希望使用字符串长度控制
则用下面代码
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
简单表格需要仅可以单行选中时
ui->tableView->setSelectionBehavior (QAbstractItemView::SelectRows);
ui->tableView->setSelectionMode (QAbstractItemView::SingleSelection);
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
获取选中行
QModelIndexList list = ui->tableView->selectedIndexes();
if (list.count() <= 0) return;
QModelIndex index = ui->tableView->selectionModel()->currentIndex();
int iSel = index.row();
隐藏网格
ui->tableView->setShowGrid(false);
显示刷新
//直接执行tableView的update()并不能刷新画面,正确的方式如下
方式1 tableView()->viewport()->update();//建议使用方式1
方式2 tableView()->reset();