ui->tableView->setSelectionBehavior(QAbstractItemView::SelectRows);
2> 獲取tableView中當前點擊的行號
int row = ui->tableView->currentIndex().row();
3> 表頭信息顯示居左
ui->tableView->horizontalHeader()->setDefaultAlignment(Qt::AlignLeft);
4> 設置列寬(第幾列,寬度)
ui->tableView->setColumnWidth(0,101);
設置列寬根據文本自動調節
ui->tableView->horizontalHeader()->setSectionResizeMode(QHeaderView::ResizeToContents);
5> 設置列寬不可變
ui->tableView->horizontalHeader()->setResizeMode(0,QHeaderView::Fixed);
6> 刪除行:
//x是指定刪除哪一行
model->removeRow(x);
//刪除所有行
model->removeRows(0,model->rowCount());
7> 獲取選中單元格的屬性
ui->tableView->currentIndex();//獲取選中單元格的index
ui->tableView->currentIndex().column();//當前選中單元格的列號
ui->tableView->currentIndex().row();//當前選中單元格行號
ui->tableView->currentIndex().data();//當前選中單元格內的數據
8> 設置當前選中單元格的數據爲字符串123
model->setData(ui->tableView->currentIndex(),tr("123"));
9> model
model->rowCount();//獲取model的行數
model->columnCount();//獲取model的列數
model->item(row, column)->text()//獲取固定位置的數據
model.setColumnCount(3); //設置爲3列
model.setRowCount(4); //設置爲4行
10> 設置行內數據不可編輯
ui->tableView->setEditTriggers(QAbstractItemView::NoEditTriggers);
11> 變量model中數據
for(int i=0;i<model->rowCount();i++)
{
for(int j=0;j<model->columnCount();j++)
{
QMessageBox::warning(this,"",model->data(model->index(i,j)).toString());
}
}
注:在進行表格設置時必須是“ui->tableView->setModel(model);” 在前,屬性具體設置在後,反之則設置不會生效。
12> 設置列寬不可變動,即不能通過鼠標拖動增加列寬
ui->tableview->horizontalHeader()->setResizeMode(0, QHeaderView::Fixed);
13> 默認顯示行頭,如果你覺得不美觀的話,我們可以將隱藏
ui->tableview->verticalHeader()->hide();
14> 使用右鍵菜單,需啓用該屬性
ui->tableview->setContextMenuPolicy(Qt::CustomContextMenu);
15> 設置單元格文本居中,設置爲居中顯示
student_model->item(0, 0)->setTextAlignment(Qt::AlignCenter);
16> 設置單元格文本顏色,設置爲紅色
student_model->item(0, 0)->setForeground(QBrush(QColor(255, 0, 0)));
17> 設置自動排列
ui->tableView->setSortingEnabled(true);
18> 設置表頭隱藏
ui->tableView->horizontalHeader()->hide();
19> 隱藏行序號
ui->tableView->verticalHeader()->hide();
其他總結的文章:
http://www.360doc.com/content/14/0210/11/3300331_351302459.shtml